我想在Android上运行的Cordova之上自动测试基本的混合移动应用程序构建 . 我使用了Apppium . 我跟着tutorial video开始了 . 我下载并将Selenum,selendroid和java客户端.jar文件添加到Application的构建路径中 .

以下是我的代码,

import java.net.MalformedURLException;

import java.net.URL;

import java.util.Iterator;

import java.util.Set;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;

import io.appium.java_client.MobileElement;

import io.appium.java_client.android.AndroidDriver;

import io.appium.java_client.remote.MobileCapabilityType;

public class AppiumTest {

public static void main(String[] args) throws MalformedURLException, InterruptedException {

URL serverAddress = new URL("http://0.0.0.0:4723/wd/hub");

WebDriver driver = new AndroidDriver(serverAddress, getDesiredCapabilities());

try{

Set contextNames = ((AppiumDriver) driver).getContextHandles();

for (final String contextName : contextNames) {

System.out.println(contextName);

if (contextName.contains("WEBVIEW_0")) {

Thread.sleep(3000);

driver.switchTo().window("WEBVIEW_0");

}

}

//Change color to Red

driver.findElement(By.cssSelector("p.recieved")).click();

Thread.sleep(2000);

//Change color to Red

driver.findElement(By.cssSelector("recieved")).click();

Thread.sleep(2000);

driver.get("http//appium.io/");

Thread.sleep(2000);

}

finally {

driver.quit();

}

System.out.println("Driver "+driver);

}

public static DesiredCapabilities getDesiredCapabilities() {

DesiredCapabilities capability = new DesiredCapabilities();

capability.setCapability(MobileCapabilityType.AUTOMATION_NAME, "selendroid");

capability.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");

capability.setCapability("platformVersion", "4.4.4");

capability.setCapability("deviceName", "Android-Dev");

capability.setCapability("app",

"C:/Joseph/Appium/HybridProject/AppiumTest/platforms/android/build/outputs/apk/android-debug.apk");

capability.setCapability("appPackage", "com.joseph.appiumtest");

capability.setCapability("appActivity", ".MainActivity");

return capability;

}

}

我能够得到 Capabilities 和 Contexts . 在切换窗口( driver.switchTo().window("WEBVIEW_0") )时,我收到的错误如 Exception in thread "main" org.openqa.selenium.WebDriverException: CATCH_ALL: java.lang.VerifyError: io/selendroid/server/model/SelendroidWebDriver

版本:

Android:4.4.4

Appium:1.6.3

Selenium:3.0.1

Selendroid:0.17.0

移动应用测试基于JAVA_Appium用于测试Android混合移动应用程序相关推荐

  1. 芯片测试术语 ,片内测试(BIST),ATE测试

    芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...

  2. 芯片测试术语,片内测试(BIST),ATE测试

    芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...

  3. PHP基于字典的中英文数字混合分词算法RMM简易实现

    <?phpclass Seg {//字典private $dict = [];//加载字典function set_dict($vDict){//词典大写,方便比对foreach ($vDict ...

  4. Android 渗透测试学习手册 第一章 Android 安全入门

    第一章 Android 安全入门 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 Android 是当今最流行的智能手机操作系统之一. 随着人气的增加,它存在很多安全 ...

  5. Android测试(二):Android测试基础

    原文地址:https://developer.android.com/training/testing/fundamentals.html 用户在不同的级别上与你的应用产生交互.从按下按钮到将信息下载 ...

  6. ios和android测试面试题目,App测试面试题总结

    前言 现在面试个测试岗位,都是要求全能的,web.接口.app啥都要会测,那么APP测试一般需要哪些技能呢? 面试app测试岗位会被问到哪些问题,怎样让面试管觉得你对APP测试很精通的样子? 本篇总结 ...

  7. 测试电子负载用于无线充电系统的功能和精度

    摘 要: 电子负载可以用于对设计的电路系统性能自动化测量,比如对于电源电路,测试它的输出功率,电压调整,响应速度等.相比于实际电子负载(比如电阻.电机.充电器等),电子复杂可以进行编程设置消耗的电压, ...

  8. jax-rs jax-ws_信守承诺:针对JAX-RS API的基于合同的测试

    jax-rs jax-ws 自从我们谈论测试和应用有效的TDD做法以来,已经有一段时间了,特别是与REST(ful) Web服务和API有关的做法. 但是,这个主题永远都不应忘记,特别是在每个人都在做 ...

  9. 信守承诺:JAX-RS API的基于合同的测试

    自从我们谈论测试和应用有效的TDD实践以来已经有一段时间了,特别是与REST(ful) Web服务和API相关的实践. 但是,这个主题永远都不应忘记,特别是在每个人都在做微服务的世界中,无论它意味着什 ...

最新文章

  1. c++ string类 用法简介
  2. 后端进阶,要搞懂哪几块?
  3. labview实现字符串转16进制
  4. wxWidgets:wxDirDialog类用法
  5. Spring&Quartz集成自定义注释
  6. FreeRTOS任务基础知识
  7. 【HDU - 1326】Box of Bricks(模拟水题)
  8. JavaScript基本数据类型讲解
  9. 支付宝也跟上了!免费办理ETC 还提供设备包邮服务
  10. apple 关闭双重认证_这次Apple可以关闭工作吗?
  11. 数据分析5-银行客户风险评估实战
  12. A-level成绩BBB能申英国哪些大学?
  13. VS无法打开项目文件“Web.csproj” -此安装不支持该项目类型问题解决方案
  14. 快来,别人不知道的秘密,QQ空间视频下载教程
  15. 公历转农历linux C程序
  16. 小米5x有android 8.0,小米5X 8.0【Android 8.0】没错是8.0!
  17. I.MX8M mini物联网开发板框架及屏幕接口详解
  18. ArchLinux开发环境第2辑——高效平铺式桌面i3个性化配置与美化
  19. 《人人都是项目经理V2.0》读书笔记——第3章 需求管理——筛选干系人的需求
  20. 轨道六根数(开普勒六参数)

热门文章

  1. iOS $99 刀 开发者证书的申请步骤
  2. postgreSQL数据库里面导入数据
  3. 关于使用Navicat
  4. 用R3写卡成PRL302,解决新电信卡PRL301只能1X不能上3G问题
  5. 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案
  6. The servlet name already exists.解决方法
  7. mysql5.7 datetime 默认值为‘0000-00-00 00:00:00‘值无法创建问题解决
  8. 微服务架构的分布式事务解决方案(Dubbo分布式事务处理)
  9. android发布新版忘记keystore(jks)密码终极解决方案
  10. 异常 try – finally 注意的地方