1.implicitly_wait()与time.sleep()之间的区别
implicitly_wait()表示隐式等待,如果找不到元素会一直循环访问直到时间用尽
time.sleep()表示显式等待,固定等待时间
建议使用implicitly_wait(),如果程序执行失败,再用time.sleep(),这样会大大提高程序运行速度。但是,有一个问题是,遇到过下列情况:
(1)点击IT->网络运营中心
(2)implicitly_wait()
(3)点击导入排名按钮。
(4)上传文件
上传正确文件时会报错,上传其他文件均不会报错,显示找不到导入按钮元素或该元素不能被点击,原因暂不清楚。
2.执行JavaScript时报错找不到元素
先等待网页加载完成
windows.onload() {]
//javascript
}
3.firefox浏览器下载文件中文乱码问题
在http报文的header中可以看到文件下载时,会先把文件名进行编码再转码得到,如果该网站用java开发,字符用的不是utf-8就会出现这样的问题。chrome和ie不会对下载文件进行处理,就不会乱码。
参考资料:https://www.cnblogs.com/godtrue/p/4333262.html
4.excel文件的基本操作,包括读写,比较两个文件是否相同
import xlwt,xlrd模块,将读出来的文件存储为list,python2.X通过cmp(list1,list2)进行比较,python3.X通过import operator模块的operator.eq(list1,list2)。
list操作参考资料:http://www.runoob.com/python/att-list-cmp.html
4.firefox浏览器下载文件自动化
self.fp=webdriver.FirefoxProfile()
#设置文件保存路径
self.fp.set_preference("browser.download.dir","E:\\eclipse-workspace\\RankSystem\\TestData\\")
# 2表示自定义文件夹 0表示保存到桌面
self.fp.set_preference("browser.download.folderList", 2)
#在开始下载时是否显示下载管理器
self.fp.set_preference("browser.download.manager.showWhenStarting",False)
#设置自动保存的文件类型,如果firefox不能自动保存,一定是文件类型不对
self.fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel")
driver=webdriver.Firefox(firefox_profile=fp)
文件类型参考资料:http://www.w3school.com.cn/media/media_mimeref.asp
5.Python webdriver 定位frameset中的frame
参考资料:http://www.jianshu.com/writer#/notebooks/18047706/notes/20274252
6.display=none的问题
参考资料:http://www.jianshu.com/writer#/notebooks/18047706/notes/19838912
7.测试数据的读入
参考资料:http://www.jianshu.com/writer#/notebooks/18047706/notes/20467916
8.弹出窗口的处理
如果是浏览器自带的弹出窗口,即元素定位不到的,用switch_to_alert()处理就可以。如果是开发人员自写的窗口,用元素定位直接操作即可。
9.同一页面进行多个测试用例
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
网友评论