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")

 

 

 

posted on 2015-06-11 11:32  浮伞一朵  阅读(2938)  评论(0编辑  收藏  举报

导航