【发布时间】:2013-10-02 00:12:37
【问题描述】:
我是 appium 和 android 自动化的新手
但是,从不同的博客中,我已经能够开始使用 Java 在 W7 环境中为 Android 自动化配置 Appium
但是,不知何故,我的TestNG java 脚本没有在 android 模拟器中启动 .apk 文件
以下是appium 服务器显示的日志的最后几行:-
调试:在 /wd/hub/session/e4d57ac4-83df-448f-a825-dc985 发起的 Appium 请求 4de0ed6
信息:关闭 appium 会话...
信息:[ADB] 按下 HOME 键
info: 已发送关机命令,等待 ADB 停止...
信息:停止 logcat 捕获
警告:Android 没有足够快地关闭,称之为消失
信息:[ADB] 由于服务器未使用 --full-reset 启动,因此未卸载应用程序
信息:清除 appium 设备
信息:成功响应客户端:{"status":0,"value":null,"sessionId":"e 4d57ac4-83df-448f-a825-dc9854de0ed6"}
删除 /wd/hub/session/e4d57ac4-83df-448f-a825-dc9854de0ed6 200 7533ms - 89
下面是我的java代码:-
@BeforeMethod
public void setup() {
File appDir = new File("E:/Softwares/AppToBeTested");
File app = new File(appDir, "ContactManager.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device","Android");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability(CapabilityType.VERSION, "4.2.2");
capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");
// capabilities.setCapability("app-package","com.deo.mobile1");
capabilities.setCapability("app-package","com.example.android.contactmanager");
//Here we mention the activity name, which is invoked initially as app's first page.
// capabilities.setCapability("app-activity",".StartupActivity");
capabilities.setCapability("app-activity",".ContactManager");
//capabilities.setCapability("app-wait-activity","LoginActivity,NewAccountActivity");
capabilities.setCapability("app", app.getAbsolutePath());
try {
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);
}
@Test
public void loginTest() throws Exception
{
System.out.println("Hello");
}
@AfterMethod
public void tearDown()
{
driver.quit();
}
注意:- 我可以看到 android 模拟器导航到主屏幕,但之后没有任何反应 我已经在模拟器中安装了 ContactManager.apk
【问题讨论】:
-
您好,上述问题现已解决。但是,现在我面临另一个问题......我收到以下错误:-org.openqa.selenium.remote.SessionNotFoundException:会话已终止或未启动(原始错误:用于启动应用程序的活动不存在!制作确保它存在)(警告:服务器未提供任何堆栈跟踪信息)
-
你应该先启动 appium 服务器,如果会话终止了上面的消息。关闭所有 Adb rerun appium server 实例和运行测试脚本。希望这会有所帮助