首页 > 解决方案 > Appium在C#中设置应用程序会话的工作目录

问题描述

我目前正在尝试在 Appium 中运行我的应用程序。

我已将测试工作目录设置为在应用程序可执行文件所在的位置运行,并且它成功启动了应用程序,但是它无法获取可执行文件目录中的任何应用程序设置。

如果我直接运行应用程序,它工作正常。

最好的行动方案是什么?这是我到目前为止所拥有的:

namespace MyApp.Tests.Appium.Tests
{
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using OpenQA.Selenium.Appium.Windows;
    using OpenQA.Selenium.Remote;
    using System;
    using System.IO;

    public class UITestBase : IDisposable
    {
        protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";

        protected static WindowsDriver<WindowsElement> AppSession;

        protected UITestBase()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            var appUrl = Directory.GetCurrentDirectory() + "\\MyApp.exe";

            appCapabilities.SetCapability("app", appUrl);
            appCapabilities.SetCapability("deviceName", "WindowsPC");
            AppSession = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
        }
    }
}

标签: c#seleniumselenium-webdriverappiumappium-desktop

解决方案


https://github.com/Microsoft/WinAppDriver

基于此,您可以通过以下代码进行设置:

appCapabilities.SetCapability("appWorkingDir", Directory.GetCurrentDirectory());

推荐阅读