1.中文无法输入问题
解决方法:
desired_caps["unicodeKeyboard"] = "True" desired_caps["resetKeyboard"] = "True"
2.appium checkbox无法根据id定位时
例如下图这种checkbox,id都是com.senbaba.senbacust:id/checkBox 唯一的区别就是text的值不一样
appium有个语法find_element_by_name()可以根据text的值来定位
3.Unittest框架的使用
正常情况下如果要执行多个用例的话会提示:WebDriverException: Message: A new session could not be created,导致多个用例只会执行第一个,其他的都无法执行
解决方法:appium的设置有个Override Exsting Session勾选上即可
4.
StaleElementReferenceException: stale element reference: element is not attached to the page document
意思就是Element已经过时,没有和当前页面进行绑定,主要是页面刷新或者跳转引起的。需要重新获取一次元素。
解决方法:设置等待时间或者智能等待
5.如何判断一个元素的属性来进行后续的操作
解决方法:
get_attribute方法获取元素的属性值对其进行操作
例如:if fromcity.get_attribute('oldvalue') != u'广州市':
6.中文编码格式问题
# -*- coding: utf-8 -*-
代替
coding: utf-8
7.字符串的拼接
send_keys传入的是string类型的字符串,与其他类型拼接的时候,需要str(a)进行强转。
8.多窗口切换
有时候打开链接进入的是一个新的页面,需要去新页面上做操作,这个时候就涉及到页面切换
#获取当前窗口
new=driver.current_window_handle
#循环判断窗口是否为当前窗口
all=driver.window_handles
for handle in all:
if handle !=new:
driver.switch_to_window(handle)
time.sleep(2)
driver.find_element_by_id("InitCartUrl").click();
print("ok")
driver.close()
未完待续,继续学习中