比较了一下节点机器A和B的selenium 执行日志,发现可以执行用例的A机器上的chromedriver的ID和无法执行用例的B机器上的chromedriver的ID 两者是相同的,从而怀疑是否是这个问题导致的。
A:
[attach]97265[/attach]
B:
[attach]97266[/attach]
这个问题困扰了我好久,请问大家有没有遇到类似的问题呢?求助,第一次搞自动化测试的项目,以下是demo代码
【testcase1】
public class testcase1 {
@Test
public void run() {
Init.OpenUrl("1");
long id = Thread.currentThread().getId();
System.out.println("Sample test-method 1. Thread id is: " + id);
}
}
【testcase2】
public class testcase2 {
@Test
public void run() {
Init.OpenUrl("2");
long id = Thread.currentThread().getId();
System.out.println("Sample test-method 1. Thread id is: " + id);
}
}
【Init.java】
public class Init{
public static WebDriver driver;
/**
*@param nodeChromeVersion表示node机器上两个浏览器设置的version,用来标识两个node
*/
public void OpenUrl(String nodeChromeVersion){
Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "Google Nexus 5");
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("mobileEmulation", mobileEmulation);
DesiredCapabilities capability = new DesiredCapabilities();
capability.setBrowserName("chrome");
capability.setVersion(nodeChromeVersion);
capability.setPlatform(Platform.WINDOWS);
capability.setCapability(ChromeOptions.CAPABILITY,chromeOptions);
try {
driver = new RemoteWebDriver(new URL("http://10.199.144.163:4444/wd/hub"), capability);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
【bingfa.java】
public class Zbingfa {
@Test
public void test() {
Class[] cls={Ztestcase1.class,Ztestcase2.class };
JUnitCore.runClasses(ParallelComputer.classes(), cls);
}
}