Appium WinAppDriver C# 计算器示例错误
Appium WinAppDriver C# Calculator example Error
我正在尝试 运行 visual studio 2017 中的计算器测试 C# 示例 (https://github.com/Microsoft/WinAppDriver/tree/master/Samples/C%23/CalculatorTest)。当我下载并构建示例时,它显示几行已弃用;
DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", CalculatorAppId);
appCapabilities.SetCapability("deviceName", "WindowsPC");
还有一个是需要修改的错误;
CalculatorSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1.5));
到
session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
。
当我尝试 运行 它们时,每次测试(加法、除法、乘法、减法、模板化)都会出现这样的错误:
Test Name: Addition Test
FullName: CalculatorTest.ScenarioStandard.Addition Test
Source: C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs
: line 32 Test Outcome: Failed Test Duration: 0:00:00
Result StackTrace: at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri
remoteAddress, ICapabilities desiredCapabilities, TimeSpan
commandTimeout) at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri
remoteAddress, ICapabilities desiredCapabilities) at
OpenQA.Selenium.Appium.Windows.WindowsDriver`1..ctor(Uri
remoteAddress, DesiredCapabilities desiredCapabilities) at
CalculatorTest.CalculatorSession.Setup(TestContext context) in
C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\CalculatorSession.cs:line
42 at CalculatorTest.ScenarioStandard.ClassInitialize(TestContext
context) in
C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs:line
101 Result Message: Class Initialization method
CalculatorTest.ScenarioStandard.ClassInitialize threw exception.
System.TypeLoadException: System.TypeLoadException: Method 'Dispose'
in type 'OpenQA.Selenium.Appium.Service.AppiumCommandExecutor' from
assembly 'appium-dotnet-driver, Version=3.0.0.2, Culture=neutral,
PublicKeyToken=null' does not have an implementation..
我下载了 Appium 并在执行此操作时 运行在后台运行,但它看起来像砖一样。
我是一名 C# 应用程序开发人员,我真的不知道我在用 Appium/WinAppDriver 做什么(我刚刚被告知要弄清楚),在看了这个之后对于如何解决这里发生的问题,我有点不知所措。我不知道这是 Appium 问题、WinAppDriver 问题还是其他问题,我们将不胜感激。
伙计,我对这些示例一点运气都没有,但我设法做的是从它的文件路径启动一个应用程序并对其进行测试。我还必须弄清楚您必须将 "Developer Mode" 设置为 On(没有人告诉您!)和其他一些事情。这是我为自己和其他开发人员所做的笔记...
安装和运行Windows应用程序驱动程序
1.Download Windows 来自 https://github.com/Microsoft/WinAppDriver/releases
的应用程序驱动程序安装程序
2.Run Windows 10 台机器上的安装程序,您的待测应用程序已安装并将接受测试
3.Set 开发者模式开启(开始 -> 输入 "Use Developer Features"),打开它并设置开发者模式开启...
4.Run WinAppDriver.exe 从安装目录(例如 C:\Program Files (x86)\Windows Application Driver)
安装 Win App Driver Recorder,然后启动它。单击它顶部的黄色小矩形图标。
https://github.com/Microsoft/WinAppDriver/releases
使用上面的内容,示例开始变得更有意义,但正如我所说,我只测试了可以从其文件路径启动可执行文件的应用程序...
通过更新(在 Visual Studio 内)到最新的测试版驱动程序 (4.0.0.4-beta) 然后转换代码以使用新格式来解决。
使用:
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("deviceName", "WindowsPC");
options.AddAdditionalCapability("platformName", "Windows");
options.AddAdditionalCapability("app", NotepadAppId);
session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), options);
而不是显示的
DesiredCapabilities appCapabilities = new DesiredCapabilities();
我正在尝试 运行 visual studio 2017 中的计算器测试 C# 示例 (https://github.com/Microsoft/WinAppDriver/tree/master/Samples/C%23/CalculatorTest)。当我下载并构建示例时,它显示几行已弃用;
DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", CalculatorAppId);
appCapabilities.SetCapability("deviceName", "WindowsPC");
还有一个是需要修改的错误;
CalculatorSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1.5));
到
session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
。 当我尝试 运行 它们时,每次测试(加法、除法、乘法、减法、模板化)都会出现这样的错误:
Test Name: Addition Test FullName: CalculatorTest.ScenarioStandard.Addition Test Source: C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs : line 32 Test Outcome: Failed Test Duration: 0:00:00
Result StackTrace: at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout) at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri remoteAddress, ICapabilities desiredCapabilities) at OpenQA.Selenium.Appium.Windows.WindowsDriver`1..ctor(Uri remoteAddress, DesiredCapabilities desiredCapabilities) at CalculatorTest.CalculatorSession.Setup(TestContext context) in C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\CalculatorSession.cs:line 42 at CalculatorTest.ScenarioStandard.ClassInitialize(TestContext context) in C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs:line 101 Result Message: Class Initialization method CalculatorTest.ScenarioStandard.ClassInitialize threw exception. System.TypeLoadException: System.TypeLoadException: Method 'Dispose' in type 'OpenQA.Selenium.Appium.Service.AppiumCommandExecutor' from assembly 'appium-dotnet-driver, Version=3.0.0.2, Culture=neutral, PublicKeyToken=null' does not have an implementation..
我下载了 Appium 并在执行此操作时 运行在后台运行,但它看起来像砖一样。
我是一名 C# 应用程序开发人员,我真的不知道我在用 Appium/WinAppDriver 做什么(我刚刚被告知要弄清楚),在看了这个之后对于如何解决这里发生的问题,我有点不知所措。我不知道这是 Appium 问题、WinAppDriver 问题还是其他问题,我们将不胜感激。
伙计,我对这些示例一点运气都没有,但我设法做的是从它的文件路径启动一个应用程序并对其进行测试。我还必须弄清楚您必须将 "Developer Mode" 设置为 On(没有人告诉您!)和其他一些事情。这是我为自己和其他开发人员所做的笔记...
安装和运行Windows应用程序驱动程序
1.Download Windows 来自 https://github.com/Microsoft/WinAppDriver/releases
的应用程序驱动程序安装程序2.Run Windows 10 台机器上的安装程序,您的待测应用程序已安装并将接受测试
3.Set 开发者模式开启(开始 -> 输入 "Use Developer Features"),打开它并设置开发者模式开启...
4.Run WinAppDriver.exe 从安装目录(例如 C:\Program Files (x86)\Windows Application Driver)
安装 Win App Driver Recorder,然后启动它。单击它顶部的黄色小矩形图标。
https://github.com/Microsoft/WinAppDriver/releases
使用上面的内容,示例开始变得更有意义,但正如我所说,我只测试了可以从其文件路径启动可执行文件的应用程序...
通过更新(在 Visual Studio 内)到最新的测试版驱动程序 (4.0.0.4-beta) 然后转换代码以使用新格式来解决。
使用:
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("deviceName", "WindowsPC");
options.AddAdditionalCapability("platformName", "Windows");
options.AddAdditionalCapability("app", NotepadAppId);
session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), options);
而不是显示的
DesiredCapabilities appCapabilities = new DesiredCapabilities();