zoukankan      html  css  js  c++  java
  • Appium自动化测试学习(二)

    问题一:

    python中,在testcase中添加activity查询的时候

        def test_CreateBookingOrder(self):
            #进入城市选择
            activity=self.driver.current_activity #activity结果通过打印得到
            print activity

    始终提示错误

    activity = self.driver.current_activity#activity结果通过打印得到
    AttributeError: 'WebDriver' object has no attribute 'current_activity'

    经过排查后发现,是我在引入模块的时候引入的是

    from selenium import webdriver

    然而selenium是web的测试框架,appium对其进行了封装和修改,因此在做appium自动化测试的时候应该先在终端安装

    appium-python-client,在终端窗口输入命令:

    sudo pip install Appium-Python-Client

    然后在case中导入的时候选择:

    from appium import webdriver

    即可解决问题。

    问题二:

    我在进行元素定位的时候采用text定位的方式,代码为

    self.driver.find_element_by_link_text("上海").click()

    运行后始终报错:

    WebDriverException: Message: Invalid locator strategy: link text

    后咨询得知link_text定位方式是Selendroid框架中的定位方式,因此若想采用,则需在代码加入

    desired_caps['automationName'] = 'Selendroid' #想使用的自动化测试引擎,默认为appium 用来设置用link text定位元素

    问题三:

    在自动化定位点击城市后始终会进入一个空白页面,无法继续进行操作,询问后得知需在本地的~/.android中将debug.keystore文件替换为一个自家的debug.keystore。。。

    问题四:

    在用android sdk中的uiautomatorview进行控件定位时,textview中的中文始终无法显示。

    原因:UIaotumator view在android5.0上有bug,中文无法显示。。。而我用的正是android5.0.。。

     问题四:

    在搜索框中输入,sendkeys,想要输入中文,则需要设置设备的关键字

    desired_caps['unicodeKeyboard'] = "true"#使用 Unicode 输入法。默认值false
    desired_caps['resetKeyboard'] = "true"#在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值 false

     此后调用时即可实现:

    self.driver.find_element_by_id("search_edit").send_keys(u"艾维庭美容spa")
  • 相关阅读:
    【KMP】Period
    【KMP】Cyclic Nacklace
    【KMP】Oulipo
    【KMP】Number Sequence
    二分
    Stock 贪心经典 Zoj2921
    D. Block Tower
    烦人的dp
    搜索
    hdu 一个人的旅行
  • 原文地址:https://www.cnblogs.com/LemonTing/p/4568573.html
Copyright © 2011-2022 走看看