51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2505|回复: 6
打印 上一主题 下一主题

[Appium] 运行 Appium 第一个 case 就出错了,看不出错误,google 了也没结果,特来求救

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-7 10:45:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码很简单,如下
AndroidDriver androidDriver = null;
DesiredCapabilities cap=new DesiredCapabilities();
//cap.setCapability("noReset", true);
cap.setCapability("deviceName", "Android Emulator");//设备名称
cap.setCapability(CapabilityType.BROWSER_NAME, "");
cap.setCapability("platformName", "Android");
//cap.setCapability("platformName", "Android"); //安卓自动化还是iOS自动化
cap.setCapability("platformVersion", "7.1.1"); //安卓操作系统版本
//cap.setCapability("sessionOverride", true);//重新启动的话会重置session

cap.setCapability("appPackage","com.xunmeng.pinduoduo");//被测app的包名
cap.setCapability("appActivity",".ui.activity.MainFrameActivity");//被测app的入口Activity名称

//cap.setCapability("unicodeKeyboard", true); //支持中文输入
//cap.setCapability("resetKeyboard", true); //支持中文输入,必须两条都配置

try {
androidDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub,cap);//把以上配置传到appium服务端并连接手机")
} catch (MalformedURLException e) {
e.printStackTrace();
}
androidDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);//隐式等待

//找到横滑栏,挨个点击icon
List eList = androidDriver.findElements(By.id("image"));
for(WebElement element:eList){
element.click();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
androidDriver.pressKeyCode(AndroidKeyCode.BACK);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
这行报错:androidDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub,cap"));
异常如下:
Connected to the target VM, address: '127.0.0.1:62301', transport: 'socket'
Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.openqa.selenium.Platform.extractFromSysProperty(Ljava/lang/String;)Lorg/openqa/selenium/Platform; from class org.openqa.selenium.remote.RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:271)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:36)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:114)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:132)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:92)
at com.pdd.test.MainDemo.main(MainDemo.java:39)
实在没看懂什么意思,google了也没找到相关资料,请大家赐教


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-6-7 10:49:15 | 只看该作者
new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub,cap"));
确定url没写错?一般是(new URL("location string"), capabilityInstance)的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2017-6-7 10:49:47 | 只看该作者
测试就是来开荒 发表于 2017-6-7 10:49
new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub,cap"));
确定url没写错?一般是(new URL("loca ...

嗯,没写错,cap在new URL的参数外面的,要不然编译都错误了啊
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2017-6-7 10:50:35 | 只看该作者
使用 markdown 的代码块排版,代码显示就好多了。PS:建议把整个完整的文件,包括 import 的部分也一起粘贴上来吧。我猜
import 那部分有问题。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2017-6-7 10:51:15 | 只看该作者
找到横滑栏,挨个点击icon,应该是这样写的吧
List < WebElement >  eList  =  androidDriver.findElements(By.id("image"));
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2017-6-7 10:52:13 | 只看该作者
粘贴到网页上代码格式有点乱了。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2017-6-7 10:59:16 | 只看该作者
测试的味道 发表于 2017-6-7 10:50
使用 markdown 的代码块排版,代码显示就好多了。PS:建议把整个完整的文件,包括 import 的部分也一起粘贴 ...

谢谢~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 05:46 , Processed in 0.068936 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表