appium实战中的问题

115 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1、报错:Xcode is not installed!

这个原因主要是Xcode没有安装,但是我已经从mac中的appstore安装了。

其实很简单,可能是由于你安装后没有打开过,所以组件都没下载,也没配置的缘故。

解决方法:打开Xcode,然后再用appium-doctor检查是否成功!

2、报错:ImportError: cannot import name 'InvalidArgumentException' from 'selenium.common.exceptions' (/usr/local/lib/python3.7/site-packages/selenium/common/exceptions.py)

原因:selenium.common.exceptions.py中未定义InvalidArgumentException类,导致出现该报错。

我是在mac中遇到的,如下提示了我出错误文件的位置,/usr/local/lib/python3.7/site-packages/selenium/common/exceptions.py

在这个文件中最后加上一个类:

class InvalidArgumentException(WebDriverException):
    """
    """
    pass

3、问题:selenium.common.exceptions.WebDriverException: Message: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id"]} and you sent ["capabilities","desiredCapabilities"]

这是由于版本webdriver版本和appium的版本对不上所致。

先确定你webdriver用的是selenium中的还是Appium-python-client中的.

1.如果你用的是selenium,appium使用的是1.5版本的,则将selenium卸载,下载selenium版本3.3的

  比如:卸载:pip uninstall selenium            
  安装:pip install  selenium==3.3.1

2.如果是Appium-python-client,下面是与appium对应的版本

     Appium-python-client 中0.32-0.39对应的是appium版本

     Appium-python-client 中0.22-0.31对应的是appium1.5版本

     Appium-python-client中0.14对应是appium1.3.6版本

    Appium-python-client中0.15-0.21对应是appium1.4版本

  比如:我安装的是appium1.5,所以我用了  pip install Appium-Python-Client==0.25

4、adb 获取android当前app的package和activity名

网上有很多种,但有的是获取到app的登陆页面或者主页面的activity,我尝试了一下觉得最准确的是下面这种方法:

命令行中输入: adb shell dumpsys activity activities

输出后在前面的信息中查找:

intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x30200000 cmp=com.chenhon.xmkt.inst/com.chenhon.app.views.home.WelcomeActivity}

在cmp中:cmp=com.jiejing.xmkt.inst/com.jiejing.app.views.home.WelcomeActivity

com.chenhon.xmkt.inst为package,com.chenhon.app.views.home.WelcomeActivity为启动app的activity