c# - 连接到 Windows 上由 xcuitrunner 启动的 iOS WebDriverAgent session

标签 c# ios webdriver

我已在 Windows PC 上使用 Quamotion xcuitrunner 在 iOS 设备上启动了 Facebook/Appium WebDriverAgent。

我现在想要在 C# 中创建一个测试自动化脚本,该脚本使用此 WebDriverAgent 在我的 iOS 设备上自动执行脚本。

我不太确定应该使用哪个客户端库,以及应该如何连接到此 session 。我读到我需要设置 remoteWebDriverAgentUrl 但我不确定如何执行此操作。

我已经看过此 WebDriver 客户端代码,但我不确定如何使用它直接连接到 WebDriverAgent:

AppCapabilities capabilities = new AppCapabilities(
    deviceId: "12345678900aaa0000a00a000000a0a00a0aa0aa",
    appId: "com.company.app",
    appVersion: "0.1",
    clearApplicationSettings: false);

this.driver = new AppDriver(capabilities);
this.driver.WaitUntilReady();

我想使用 webdriver 连接 http://localhost:53121/session/00AAA0AA-A0A0-AA0A-0A00-AA0000A0000

最佳答案

WebDriverAgent 实现了 WebDriver 协议(protocol),但有一些变化。这意味着您无法直接使用 C# WebDriver 或 Appium 客户端。

WebDriverAgent 有一个 C# 客户端,名为 Quamotion.Malaga ,您可以使用它来连接到 WebDriverAgent。

您可以使用此客户端创建如下脚本,其中包含显示登录屏幕的典型应用程序:

var uri = new Uri("http://localhost:53121"); // This URL will change every time you launch xcuitrunner
var driver = new WdaDriver(uri");

var response = driver.LaunchApp("your.app.id");
var emailElement = driver.FindElementByXPath("//XCUIElementTypeTextField");
emailElement.SendKeys("me@outlook.com");

var passwordElement = driver.FindElementByXPath("//XCUIElementTypeSecureTextField");
passwordElement.SendKeys("Secure!");

var signinButton = driver.FindElementByXPath("//XCUIElementTypeButton");
signinButton.Click();

var screenshot = driver.GetScreenshot();
screenshot.SaveAsFile("screenshot.png");

关于c# - 连接到 Windows 上由 xcuitrunner 启动的 iOS WebDriverAgent session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165617/

相关文章:

ios - 无法启动使用 Delphi XE8 开发的 iOS 应用程序

selenium-webdriver - Protractor 的 browser.pause() 暂停但不显示上下文

python - Selenium Webdriver 异常 : u'f. QueryInterface 不是函数

c# - 如何从 XML 架构创建 SQL Server 表架构? (使用 .NET 和 Visual Studio 2008)

c# - ASP.Net 中的 Cookie

iOS - 按钮的自动布局/尺寸类别

selenium - 在页面上停留 30 分钟,然后执行操作(Webdriver-Java)

c# - 路径中有空格的 CMD 命令

c# - 项目目标框架未安装 4.7.1 和 4.7.2

ios - 如何以编程方式快速更改语言环境和 Storyboard?