Appium测试安卓apk遇到的问题及解决方法
1、Showing error - “Returned value cannot be converted to WebElement: {ELEMENT=1}
解决方法:https://sqa.stackexchange.com/questions/29424/showing-error-returned-value-cannot-be-converted-to-webelement-element-1
答案总结:刚开始用的appium-java-client 版本是5.0.4的,报这个错误搜索后,被认可的建议是降低appium-java-client版本。降为5.0.0后不报错了。
2、java:NoSuchMethodError: org.openqa.selenium.remote.HttpCommandExecutor
解决方法:https://stackoverflow.com/questions/35186/how-do-i-fix-a-nosuchmethoderror
答案总结:用的java-client、selenium-java、selenium-remote-driver版本不兼容,建议selenium-java、selenium-remote-driver版本用最新的。
3、Logger的问题
答案总结:我遇到的bug是:无法调用PropertyConfigurator.configure(log4j.properties的路径)方法,
最终也是在stackoverflow发现的解决办法,添加好log4j.properties文件后,把该文件放到src/main/resources 目录下即可。即:src/main/resources/log4j.properties
log4j.properties内容如下:
#将等级为debug的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名
log4j.rootLogger=debug,stdout
# 定义stdout的输出端是哪种类型,可以是ConsoleAppender(控制台),FileAppender(文件)等
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#指定输出端的layout(布局)是哪种类型
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#以PatternLayout布局,就是设置输出格式
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n
log4j.logger.java.sql.PreparedStatement=DEBUG
4、junit的问题
答案:我遇到的问题是,创建好类以及测试方法后,右键点击该文件,没有runAs的选项。后来搜索后,点击Run->Edit Configurations-点击“+”->选择“JUnit”,配置可参考下图