问题一:
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")