编写测试(.NET)
The Appium .NET Client is an official Appium client in C#. This driver is an extension of the Selenium C# client. It has all the functionalities of the regular driver, but add Appium-specific methods on top of this. The driver is available on the public NuGet Gallery as Appium.WebDriver.
现在,我们进入目录并创建一个新的 NUnit 项目。我们还将添加对 Appium.Net 驱动程序和其他依赖项的引用。
cd dotnet-client
dotnet new nunit --name appiumtest
cd appiumtest
# This will install the latest 5.x version
dotnet add package Appium.WebDriver --prerelease
dotnet add package Newtonsoft.Json --version 13.0.3
完成后,您的项目应该有一个占位符文件 UnitTest1.cs
。我们将替换代码以包含 OpenQA 命名空间、驱动程序的初始化以及实际测试。
UnitTest1.cs
using OpenQA.Selenium;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Android;
using OpenQA.Selenium.Appium.Enums;
namespace appiumtest;
public class Tests
{
private AndroidDriver _driver;
[OneTimeSetUp]
public void SetUp()
{
var serverUri = new Uri(Environment.GetEnvironmentVariable("APPIUM_HOST") ?? "http://127.0.0.1:4723/");
var driverOptions = new AppiumOptions() {
AutomationName = AutomationName.AndroidUIAutomator2,
PlatformName = "Android",
DeviceName = "Android Emulator",
};
driverOptions.AddAdditionalAppiumOption("appPackage", "com.android.settings");
driverOptions.AddAdditionalAppiumOption("appActivity", ".Settings");
// NoReset assumes the app com.google.android is preinstalled on the emulator
driverOptions.AddAdditionalAppiumOption("noReset", true);
_driver = new AndroidDriver(serverUri, driverOptions, TimeSpan.FromSeconds(180));
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
}
[OneTimeTearDown]
public void TearDown()
{
_driver.Dispose();
}
[Test]
public void TestBattery()
{
_driver.StartActivity("com.android.settings", ".Settings");
_driver.FindElement(By.XPath("//*[@text='Battery']")).Click();
}
}
注意
本指南不涵盖 dotnet 客户端库或此处发生的所有内容的完整概述,因此我们目前不会详细解释代码本身。您可能需要特别阅读 Appium Capabilities,并熟悉 dotnet 客户端驱动程序文档,以更全面地了解您看到的各种 API 命令及其目的。
基本上,这段代码正在执行以下操作
- 定义一组“功能”(参数)发送到 Appium 服务器,以便 Appium 知道您要自动执行什么类型的东西。其中一些参数可以使用环境变量覆盖。
- 在内置的 Android 设置应用程序上启动 Appium 会话。
- 找到“电池”列表项并单击它。
- 结束 Appium 会话。
就是这样!让我们试一试。在运行测试之前,请确保您在另一个终端会话中运行了 Appium 服务器,否则您将收到有关无法连接到服务器的错误。然后,您可以执行脚本
dotnet test
# Example output:
# Starting test execution, please wait...
# A total of 1 test files matched the specified pattern.
# Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 323 ms - appiumtest.dll (net7.0)
如果一切顺利,您将看到设置应用程序打开并在模拟器中导航到“电池”视图,然后应用程序再次关闭。
恭喜您,您已经开始了 Appium 之旅!继续阅读以了解一些 下一步 以探索。