gpt4 book ai didi

java - 并行执行在 Appium 中不起作用

转载 作者:行者123 更新时间:2023-12-02 01:28:00 25 4
gpt4 key购买 nike

我提供了 udid,它正在破坏,但它没有执行我的测试,它只是在某个时候重置,然后停止工作。

我正在使用:-java-1.8appium-6.1.0appium 服务器 - 基于 GUI 版本 1.13.0testng- 6.8

如果我不在那里初始化 loadconfig,它就不会初始化驱动程序,并且 beforesuite 注释甚至不起作用。

testng:这是testng文件

    <test name="Emulator">
<parameter name="runAs" value="grid"></parameter>
<parameter name="platform" value="mobile"></parameter>
<parameter name="runOn" value="emulator-5554"></parameter>
<parameter name="port" value="4726"></parameter>
<classes>
<class name="TestCase.Login"/>
</classes>
</test>
<test name="Samsung J7">
<parameter name="runAs" value="grid"></parameter>
<parameter name="platform" value="mobile"></parameter>
<parameter name="runOn" value="52039763fe37a3eb"></parameter>
<parameter name="port" value="4729"></parameter>
<classes>
<class name="TestCase.Login"/>
</classes>
</test>

setCapability文件:用于设置能力

@Parameters({"runOn"})
@BeforeSuite
public static void loadConfigProp(@Optional("chrome_normal") String runOn) throws IOException
{//Importing the files
FileInputStream fis = new FileInputStream(System.getProperty("user.dir")+"\\src\\main\\resources\\Properties\\"+"data.properties");
prop.load(fis);
app= new File(prop.getProperty("app.path"));
//APPLICATION_NAME = prop.getProperty("application.path");
BASE_PKG = prop.getProperty("base.pkg");
APP_ACTIVITY = prop.getProperty("application.activity"); AUTOMATION_INSTRUMENTATION=prop.getProperty("automation.instumentation");
DEVICE_NAME=prop.getProperty("device.name");

PLATFORM_NAME=prop.getProperty("platform.name");

capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,
Base.PLATFORM_NAME);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.APP,app.getAbsolutePath());
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY,
Base.APP_ACTIVITY);
capabilities.setCapability("noReset","true");
capabilities.setCapability("fullReset","false");
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE,
Base.BASE_PKG);
if(runOn.equals("52039763fe37a3eb"))
{
capabilities.setCapability("udid", "52039763fe37a3eb");
driver = new AndroidDriver(new URL("http://127.0.0.1:4729/wd/hub"), capabilities);
}else if(runOn.equals("emulator-5554"))
{
capabilities.setCapability("udid", "emulator-5554");
driver = new AndroidDriver(new URL("http://127.0.0.1:4726/wd/hub"), capabilities);
}
}

加载配置:调用加载配置文件

 @BeforeTest
public void start() throws IOException {
Base b= new Base();
b.loadConfigProp("52039763fe37a3eb");
b.loadConfigProp("emulator-5554");
driver=b.getDriver();
}

最佳答案

  1. 删除static loadConfigProp 函数的访问修饰符
  2. 考虑将您的 AndroidDriver 实例放入 ThreadLocal

如果没有看到完整的代码和 TestNG 配置,很难判断还有什么问题,所以同时您可以查看 Parallel Tests - Best Practices文章包含提示和技巧以及可用作测试基础的项目。

关于java - 并行执行在 Appium 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57569874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com