TestNG问题(Selenium网格)与并行测试?

TestNG问题(Selenium网格)与并行测试?,testng,appium,selenium-grid,Testng,Appium,Selenium Grid,在使用Selenium网格在appium(Android)中运行并行测试脚本时,我遇到了以下错误 默认套件 运行的测试总数:6,失败:0,跳过:3 配置失败:1,跳过:0 堆栈跟踪消息: org.openqa.selenium.SessionNotCreatedException:无法创建新会话。(原始错误:请求了一个新会话,但有一个正在进行) 我的TestNG xml文件: <suite name="Default suite" thread-count="4" parallel="te

在使用Selenium网格在appium(Android)中运行并行测试脚本时,我遇到了以下错误

默认套件 运行的测试总数:6,失败:0,跳过:3 配置失败:1,跳过:0

堆栈跟踪消息: org.openqa.selenium.SessionNotCreatedException:无法创建新会话。(原始错误:请求了一个新会话,但有一个正在进行) 我的TestNG xml文件:

<suite name="Default suite" thread-count="4" parallel="tests">
<test name="Nexus">
<Parameters>
<parameter name="platform" value="Nexus"/>
<parameter name="browsername" value="Android"/>
<parameter name="remoteurl" value="http://0.0.0.0:4723/wd/hub"/>
</Parameters>
<classes>
<class name="AppiumTest">
<methods>
<include name="Test1"/>
<include name="Test2"/>
<include name="Test3"/>
</methods>
</class>
</classes>
</test>
<test name="Moto E">
<Parameters>
<parameter name="platform" value="Moto E"/>
<parameter name="browsername" value="Android"/>
<parameter name="remoteurl" value="http://0.0.0.0:4726/wd/hub"/>
</Parameters>
<classes>
<class name="AppiumTest">
<methods>
<include name="Test1"/>
<include name="Test2"/>
<include name="Test3"/>
</methods>
</class>
</classes></suite>
selenium节点的命令: appium--nodeconfig路径/to/json文件。

测试脚本:

公共类应用程序测试{ //静态远程网络驱动程序

@SuppressWarnings("rawtypes")
public static AndroidDriver driver;


@SuppressWarnings("rawtypes")
@org.testng.annotations.BeforeTest

public static void setUp() throws MalformedURLException{

    DesiredCapabilities capabilities=new DesiredCapabilities();
    capabilities.setCapability("deviceName","Nexus");
    capabilities.setCapability("platformName","Android");

    capabilities.setCapability("appPackage","club.apptu.basic.callrecorder");
    capabilities.setCapability("appActivity","MainActivity");
    driver=new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"),capabilities);

    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);

}

@org.testng.annotations.Test
public void Test1(){
  turnonoff();
  turnonoff();

  //longclick();

 // important();
 // delete();
//  deleterecord();
//  scroll();
//  languagechange();

}
@org.testng.annotations.Test
public void Test2(){

      drawer();
      drawer();

}


@org.testng.annotations.Test
public void Test3(){
  clickonitem();
  play();
  pause();

}

如果您有任何建议,我们将不胜感激。

我一直在使用Selenium Grid和Appium,但遇到了相同的错误。当设备失去连接时,如果您使用的是真实设备,请尝试断开并重新连接USB,然后重新启动节点

你可以跑

adb devices 
如果它们被列出,你不应该得到那个错误

如需进一步帮助,请发布网格的测试脚本和JSON配置文件


希望这能有所帮助。

我一直在使用Selenium Grid和Appium,但遇到了相同的错误。当设备失去连接时,会出现错误。如果您使用的是真实设备,请尝试断开并重新连接USB,然后重新启动节点

你可以跑

adb devices 
如果它们被列出,你不应该得到那个错误

如需进一步帮助,请发布网格的测试脚本和JSON配置文件


希望这能有所帮助。

我一直在使用Selenium Grid和Appium,但遇到了相同的错误。当设备失去连接时,会出现错误。如果您使用的是真实设备,请尝试断开并重新连接USB,然后重新启动节点

你可以跑

adb devices 
如果它们被列出,你不应该得到那个错误

如需进一步帮助,请发布网格的测试脚本和JSON配置文件


希望这能有所帮助。

我一直在使用Selenium Grid和Appium,但遇到了相同的错误。当设备失去连接时,会出现错误。如果您使用的是真实设备,请尝试断开并重新连接USB,然后重新启动节点

你可以跑

adb devices 
如果它们被列出,你不应该得到那个错误

如需进一步帮助,请发布网格的测试脚本和JSON配置文件


希望这能有所帮助。

因此,我使用的设置与此相同,它的工作原理是:

  • 2台设备的TestNG.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
        <suite name="Suite" parallel="tests" thread-count="2">
            <test name="Nexus 7">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
            <test name="HTC">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
       </suite> <!-- Suite -->
    
  • JSON配置文件

    {
    "capabilities":
    [
    {
    "browserName": "Chrome",
    "deviceName": "XXXX",
    "device": "XXXX",
    "udid":"XXXX",
    "version":"4.2",
    "maxInstances": 5,
    "platform":"ANDROID",
    "platformName": "Android"
    }
    ],
    "configuration":
    {
    "cleanUpCycle":2000,
    "timeout":10000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", 
    "url":"http://0.0.0.0:4723/wd/hub",
    "maxSession": 5,
    "port": 4723,
    "host": "0.0.0.0",
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "localhost"
    }
    }
    

我希望这有助于解决您的问题。

因此,我使用的设置与此相同,其工作原理是:

  • 2台设备的TestNG.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
        <suite name="Suite" parallel="tests" thread-count="2">
            <test name="Nexus 7">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
            <test name="HTC">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
       </suite> <!-- Suite -->
    
  • JSON配置文件

    {
    "capabilities":
    [
    {
    "browserName": "Chrome",
    "deviceName": "XXXX",
    "device": "XXXX",
    "udid":"XXXX",
    "version":"4.2",
    "maxInstances": 5,
    "platform":"ANDROID",
    "platformName": "Android"
    }
    ],
    "configuration":
    {
    "cleanUpCycle":2000,
    "timeout":10000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", 
    "url":"http://0.0.0.0:4723/wd/hub",
    "maxSession": 5,
    "port": 4723,
    "host": "0.0.0.0",
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "localhost"
    }
    }
    

我希望这有助于解决您的问题。

因此,我使用的设置与此相同,其工作原理是:

  • 2台设备的TestNG.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
        <suite name="Suite" parallel="tests" thread-count="2">
            <test name="Nexus 7">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
            <test name="HTC">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
       </suite> <!-- Suite -->
    
  • JSON配置文件

    {
    "capabilities":
    [
    {
    "browserName": "Chrome",
    "deviceName": "XXXX",
    "device": "XXXX",
    "udid":"XXXX",
    "version":"4.2",
    "maxInstances": 5,
    "platform":"ANDROID",
    "platformName": "Android"
    }
    ],
    "configuration":
    {
    "cleanUpCycle":2000,
    "timeout":10000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", 
    "url":"http://0.0.0.0:4723/wd/hub",
    "maxSession": 5,
    "port": 4723,
    "host": "0.0.0.0",
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "localhost"
    }
    }
    

我希望这有助于解决您的问题。

因此,我使用的设置与此相同,其工作原理是:

  • 2台设备的TestNG.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
        <suite name="Suite" parallel="tests" thread-count="2">
            <test name="Nexus 7">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
            <test name="HTC">
                <parameter name="udid"  value="XXXX" />
                <classes>
                    <class name="testNG.TestOne"/>
                </classes>
            </test> <!-- Test -->
       </suite> <!-- Suite -->
    
  • JSON配置文件

    {
    "capabilities":
    [
    {
    "browserName": "Chrome",
    "deviceName": "XXXX",
    "device": "XXXX",
    "udid":"XXXX",
    "version":"4.2",
    "maxInstances": 5,
    "platform":"ANDROID",
    "platformName": "Android"
    }
    ],
    "configuration":
    {
    "cleanUpCycle":2000,
    "timeout":10000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", 
    "url":"http://0.0.0.0:4723/wd/hub",
    "maxSession": 5,
    "port": 4723,
    "host": "0.0.0.0",
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": "localhost"
    }
    }
    


我希望这能帮助您解决问题。

我的问题有什么问题?“寻求调试帮助的问题”(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有帮助。请参阅:“我的问题出了什么问题?”寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有帮助。请参阅:“我的问题出了什么问题?”寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有帮助。请参阅:“我的问题出了什么问题?”寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误,以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:你能更新这个问题以包含测试脚本吗?我正在用端口号启动appium服务器,然后用TestNG套件运行我的测试类…是的,如果你想添加用TestNG运行的测试类,我可能能够进一步帮助你。我为这个问题添加了一个新的答案,希望能帮助你升级我正在用端口号启动appium服务器,然后用TestNG套件运行我的测试类…是的,如果您要添加使用TestNG运行的测试类,我可能能够进一步帮助您我已经为这个问题添加了一个新的答案,希望能帮助您更新任务我正在用端口号启动appium服务器,然后用TestNG套件运行我的测试类…是的,如果您要添加使用TestNG运行的测试类,我可能能够进一步帮助您我已经为这个问题添加了一个新的答案,希望能帮助您将问题更新为contai在测试脚本中,我用端口号启动appium服务器,然后用TestNG套件运行我的测试类…是的,如果您要添加使用TestNG运行的测试类,我可能能够进一步帮助您。我为这个问题添加了一个新的答案,希望在ubuntu中运行命令adb设备时对您有所帮助。。它将显示一些独特的id,这将足以