.click()命令后,Android应用关闭

时间:2019-02-22 09:10:37

标签: java selenium automation appium

我正在尝试使应用程序自动化以完成您需要手工完成的所有工作。我现在的主要目标是让它登录到应用程序后单击一个按钮。

这是我的IDE中的最后一行代码 driver.findElement(By.id("com.offerup:id/main_text")).click();

执行此行代码后,我正在测试的应用程序OfferUp关闭。控制台没有故障,但我不希望它在以后关闭该行代码将执行。

当我不运行代码登录应用程序时,该应用程序保持打开状态,但是当我运行代码时,它在执行driver.findElement(By.id("com.offerup:id/main_text")).click();后关闭。

为什么会这样?

这是我的完整代码-

package OpenOfferUpTest;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.server.handler.FindElement;
import org.testng.annotations.Test;
import org.testng.annotations.*;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class OpenOfferUp {

AndroidDriver driver;


@Test
public void OpensOfferUp() throws MalformedURLException
{
  File OfferUp = new File("C:\\Users\\boung\\Desktop\\OfferUp.apk");
  DesiredCapabilities cap = new DesiredCapabilities();
  cap.setCapability("deviceName", "Virtual Device");
  cap.setCapability("platformName", "android");
  cap.setCapability("null", "OfferUp");
  cap.setCapability("appPackage", "com.offerup");
  cap.setCapability("appActivity", "com.offerup.android.login.splash.LoginSplashActivity");

  driver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), cap);

}

@Test
public void SimpleTest() throws InterruptedException {

  driver.findElement(By.id("com.offerup:id/email_button")).click();

  By path = By.xpath("//*[@text='Enter your email address']");

  driver.findElement(path).sendKeys("sourgta@gmail.com");

  driver.findElement(By.id("com.offerup:id/next_button")).click();

  By path1 = By.xpath("//*[@text='']");

  driver.findElement(path1).sendKeys("12manytimes");

  driver.findElement(By.id("com.offerup:id/main_text")).click(); 
  }
}

1 个答案:

答案 0 :(得分:0)

对不起,我无法创建评论...

我认为该应用程序已关闭,因为您的测试已完成。这是最后一行。 您可以尝试在上述行之后添加一些代码,看看是否正确吗?

appium服务器日志说什么? 为什么在测试方法中抛出InterruptedException?