1、时间等待的使用:
2、cannot import name xxxx
互相调用导致报错,之前博主遇到一个问题,两个文件getPath和logger,logger文件的生成目录需要调用getPath中的方法,而我又想记录getPath的运行清楚,又调用了logger里面的方法,这样就碰到了A文件要执行,需要引入B文件,而B文件的执行又依赖与A文件,导致的“思索问题”
3、python2.x和Python3.x 最常见的区别
print "hello word"`#2.x
print ("hello world")#3.x
4、定位元素失败的原因:
1、存在frame,需要先根据常用的id或name切换到frame中,然后再定位元素
2、页面未加载完成,元素不存在,可以设置时间等待
3、定位方法不对(选择器表达有错误),例如定位单个元素却定位了一组元素
4、selenium的坑,可以使用JavaScript定位,一般都可以解决,如下方代码表达
js = 'document.getElementsByClassName("login")[0].click();'
driver.execute_script(js)
5、if name == “main“: 这句话是啥意思
Python文件有两种使用方式,一种是作为模块被调用 import ;另外一种就是直接运行当前文件,可以认为name 是一种内置属性,main 就是告诉当前文件直接执行
6、自动化测试用例的检索与执行顺序:
按照ASCII码的检索顺序:0-9,A-Z,a-z,例如用例test_upload 和 test_download 会先执行download再执行upload,若改为test_Upload 和test_download 则先执行upload,再执行download
7、模块调用跨文件夹时,调用出错
跨文件夹调用,需要在被调用文件夹下新建一个 init.py的空白文件,告诉当前文件夹下的文件可以被调用,在pycharm中新建package默认是会生成这个文件的
8、Python对中文的支持比较弱,显示乱码
涉及到中文字符串的前面加一个小u,意思是转成Unicode编码方式,使用方式如下:
str = u'爱我中华'
str = getStr(u'爱我中华')
9、TypeError:’list’ object is not callable
对象不能作为方法被调用,这里是混淆了对象属性和方法的概念,例如人有身高体重,这是人的属性,人跳高跳远这就是人的行为(方法)
10、最后推荐几个学习UI自动化的好去处
微信公众号:yoyouketang
博客:http://www.cnblogs.com/fnng/