Appium:如何一个接一个地执行多个测试用例?
Posted
技术标签:
【中文标题】Appium:如何一个接一个地执行多个测试用例?【英文标题】:Appium: How to execute multiple test cases one after the other? 【发布时间】:2022-01-11 12:06:20 【问题描述】:运行后,
-
应用运行。
TestMethod1() 已执行。
应用已关闭。
TestMethod2() 已执行。
但我不想关闭应用程序(第 3 步)。我希望 TestMethod2() 在 TestMethod1() 完成后执行:
-
应用运行。
TestMethod1() 执行。
TestMethod2() 执行。
应用关闭。
--> 我也尝试了 AddAdditionalCapability("NoReset, true") 和 AddAdditionalCapability("FullReset, False" ),这没有用。
=> 我正在使用 Appium.WebDriver(4.3.1) 和 C#。
[TestClass]
public class Walkthrough
private string _appPath = @"PathToMyApp\MyApp.apk";
private AppiumDriver<androidElement> _driver;
[TestInitialize]
public void Setup()
var appiumOption = new AppiumOptions();
appiumOption.AddAdditionalCapability(MobileCapabilityType.App, _appPath);
appiumOption.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android");
appiumOption.AddAdditionalCapability(MobileCapabilityType.DeviceName, "Pixel 4");
appiumOption.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "12");
appiumOption.AddAdditionalCapability(MobileCapabilityType.Udid, "99171FFAZ000GE");
appiumOption.AddAdditionalCapability(MobileCapabilityType.NoReset, true);
_driver= new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), appiumOption);
[TestCleanup]
public void TestCleanup()
_driver.CloseApp();
[TestMethod]
public void TestMethod1()
_driver.FindElement(By.ID("ELEMENT1")).Click();
[TestMethod]
public void TestMethod2()
_driver.FindElement(By.ID("ELEMENT2")).Click();
【问题讨论】:
【参考方案1】:我终于通过在Setup方法中添加[ClassInitialize]和TestContext解决了这个问题。 确保您的方法是“静态”。
[ClassInitialize]
public static void Setup(TestContext testContext)
var appiumOption = new AppiumOptions();
appiumOption.AddAdditionalCapability(MobileCapabilityType.App, _appPath);
appiumOption.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android");
appiumOption.AddAdditionalCapability(MobileCapabilityType.DeviceName, "Pixel 4");
appiumOption.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "12");
appiumOption.AddAdditionalCapability(MobileCapabilityType.Udid, "99171FFAZ000GE");
appiumOption.AddAdditionalCapability(MobileCapabilityType.NoReset, true);
_driver= new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), appiumOption);
【讨论】:
以上是关于Appium:如何一个接一个地执行多个测试用例?的主要内容,如果未能解决你的问题,请参考以下文章
一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本
Appium+Python app自动化测试之脚本启动和停止Appium服务