我只有一个测试用例,我想在两台不同的机器上运行那个特定的测试用例,比如在Windows和其他linux中运行一个。我如何配置我的节点或selenium框架,以便它可以在不同的机器上同时运行我的测试用例。我在我的框架中进行了以下更改,以便在单个机器上运行它。
DesiredCapabilities cap = new DesiredCapabilities();
cap.setBrowserName("firefox");
cap.setPlatform(Platform.ANY);
driver = new RemoteWebDriver(new URL(nodeURL), cap);
答案 0 :(得分:1)
第1步 - 创建两个可运行的JAR文件(我自己的方法),其中包含一个用于linux的测试和一个用于Windows的测试。可能通过这条线来区分:
cap.setPlatform(Platform.LINUX);
和
cap.setPlatform(Platform.WINDOWS);
从头部取得的能力,所以请求双重检查
第2步 - 启动集线器和两个节点
步骤3 - 从您的计算机运行两个JAR(假设JAR已配置集线器所在的位置)。集线器将自动为节点分配测试
如果您还有其他问题,请问我;)
答案 1 :(得分:1)
我想你可以试试TestNG。
在我的方法中,我有两个参数:OS和BROWSER。 使用testng.xml,您可以使用以下参数创建测试套件:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Your_suite" verbose="2" **parallel**="tests" >
<test name='Your_Test_Name'>
<parameter name='os' value='**WINDOWS**'/>
<parameter name='browser' value='CHROME'/>
<classes>
<class name='tests.AnyTest'/>
</classes>
</test>
<test name='Your_Test_Name'>
<parameter name='os' value='**LINUS**'/>
<parameter name='browser' value='FIREFOX'/>
<classes>
<class name='tests.AnyTest'/>
</classes>
</test>
</suite>
所以我可以在windows,linux,macOS,android或iphone上运行我的测试,最重要的是,我不需要更改我的代码。
希望它有所帮助。