Appium在C#中设置应用程序会话的工作目录
Appium set working directory of application session in 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);
}
}
}
https://github.com/Microsoft/WinAppDriver
在此基础上,您可以通过以下代码进行设置:
appCapabilities.SetCapability("appWorkingDir", Directory.GetCurrentDirectory());
我目前正在尝试 运行 我在 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);
}
}
}
https://github.com/Microsoft/WinAppDriver
在此基础上,您可以通过以下代码进行设置:
appCapabilities.SetCapability("appWorkingDir", Directory.GetCurrentDirectory());