【发布时间】:2015-08-09 08:34:36
【问题描述】:
您好,我正在尝试学习 Appium 以在我的应用程序上自动化测试用例。
我设法运行了一个简单的脚本,但我不明白运行过程的逻辑,如android生命周期。
测试用例的循环是什么。
因为当我运行下面的代码时,它没有按顺序运行,test1、test2、test3...
我们如何告诉 testCase 首先运行什么以及以什么顺序运行? 谢谢
package appium.learning;
import java.net.MalformedURLException;
import java.net.URL;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class LearningTest {
WebDriver driver;
@BeforeClass
public void setUp() throws MalformedURLException{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device", "Android");
capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead.
capabilities.setCapability(CapabilityType.VERSION, "4.4");
capabilities.setCapability(CapabilityType.PLATFORM, "Android");
capabilities.setCapability("app-package", "com.myapp"); //Replace with your app's package
capabilities.setCapability("app-activity", ".myapp"); //Replace with app's Activity
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@AfterClass
public void tearDown(){
driver.quit();
}
@Test
public void Cal1(){
driver.findElement(By.name("1")).click();
}
@Test
public void Cal2(){
driver.findElement(By.name("2")).click();
}
@Test
public void Cal3(){
driver.findElement(By.name("3")).click();
}
@Test
public void Cal4(){
driver.findElement(By.name("4")).click();
}
}
【问题讨论】:
-
你是如何运行代码的?您是否没有使用 eclipse 中的 run as junit 选项。在 junit runner 中,您可以查看所有测试用例并全部或单独运行它们。
-
是的,使用eclipse,右键以junit方式运行,
-
另一个问题,为什么每次运行测试,都是安装apk文件agian?
-
@Mr T Use 可以使用命令:desired_caps['noReset'] = True 以保持应用程序处于相同状态而不是重新安装
-
@krishna chetan,嗨。你能扩展你的anwser吗,如何运行多个测试用例,而不需要每次都重新安装apk。谢谢你
标签: java android eclipse automation appium