我有一个appium测试程序,在google nexus 5和android 5.1.1上工作得很好但是当我用android 5.0.2为三星Galaxy Tab 4配置测试时程序开始运行,应用程序安装并打开很好但是一旦第一页出现,就没有任何事情发生了。
遵循所需的功能和第一次测试
@Test
public void test0() throws MalformedURLException, InterruptedException {
File app = new File("C:\\Users\\Samila\\Documents\\Mobile_Research\\Apk\\android-debug.apk");
DesiredCapabilities caps = DesiredCapabilities.android();
caps.setCapability(CapabilityType.BROWSER_NAME, "");
caps.setCapability("deviceName","samsung-sm_t530nu");
caps.setCapability("platformVersion", "5.0.2");
caps.setCapability("deviceOrientation", "landscape");
caps.setCapability("platformName", "Android");
caps.setCapability("app", app.getAbsolutePath());
aadr = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
}
@Test
public void test1() throws Exception {
//Wait until application open correctly
WebDriverWait wait = new WebDriverWait(aadr, 40);
//Locate URL , User Name and Password
wait.until(ExpectedConditions.presenceOfElementLocated(By.className("android.widget.EditText")));
wait.until(ExpectedConditions.presenceOfElementLocated(By.name("test.orangehrm.com")));
MobileElement url = (MobileElement) aadr.findElements(By.className("android.widget.EditText")).get(0);
MobileElement userName = (MobileElement) aadr.findElements(By.className("android.widget.EditText")).get(1);
MobileElement password = (MobileElement) aadr.findElements(By.className("android.widget.EditText")).get(2);
System.out.println(url);System.out.println(userName);System.out.println(password);System.out.println(" ");
for(int i=0;i<3;i++){
MobileElement test = (MobileElement) aadr.findElements(By.className("android.widget.EditText")).get(i);
System.out.println(i+" "+ test.getId());
}
System.out.println(" ");
Thread.sleep(30000);
//Test 1- Press Login button with the Empty URL, User Name & Password
url.click();
Thread.sleep(30000);
for(int i=0;i<20;i++){aadr.sendKeyEvent(67);}
aadr.hideKeyboard();
//Wait till button is available on the screen
wait.until(ExpectedConditions.presenceOfElementLocated(By.className("android.widget.Button")));
MobileElement loginBtn = (MobileElement)aadr.findElements(By.className("android.widget.Button")).get(1);
//Tap the Login button
TouchAction btn = new TouchAction(aadr);
btn.tap(loginBtn).perform();
wait.until(ExpectedConditions.presenceOfElementLocated(By.className("android.view.View")));
Thread.sleep(1000);
MobileElement warninigMsg = (MobileElement) aadr.findElements(By.className("android.view.View")).get(9);
//Assert whether Username empty warning message is coming or not
assertEquals("Username is Empty",warninigMsg.getAttribute("name"));