在通过python+selenium编写ui自动化脚本时,遇到很多需要注意的地方,今天分享给大家。一、休眠时间1、强制等待时间sleep()必须导入time包后才能使用。强制等待时间=页面跳转时间+sleep()设置休眠时间强制等待时间。语法:sleep(s)s表示时间,单位秒例:sleep(2)休眠2s2,显示等待时间WebDriverWait()必须导入WebDriverWait包后才能使用,显示等待时间对a有效单个元素,当在指定时间内找到对应的元素时,会执行下一步。显示等待时间的语法为:WebDriverWait(x,y,z).until(lambdax:x.find_element_by_element定位方法("对应元素方法的值"))x代表web窗口对象y代表总waitingtime(s)z表示在等待过程中多久检查一次元素。单位sntil是一种固定的格式,可以理解为until元素被定位。lambdax:x是一种构造匿名函数的方法。这里不好理解,可以理解为固定格式lambda是webwindow对象整体,后面的.find_element_by_...指的是前面的定位方式。3.隐式等待时间implicitly_wait()智能等待时间对所有全局元素都有效,不需要导入包。当在指定时间内找到对应的元素时,执行下一步。隐式等待时间使用语法:网页对象名.implicity_wait()fromseleniumimportwebdriverfromtimeimportsleep#导入强制等待时间包fromselenium.webdriver.support.uiimportWebDriverWait#导入显示等待时间包dr=webdriver.Firefox()dr.maximize_window()dr.implicitly_wait(5)#隐式时间等待,智能等待,forglobaldr.get("https://www.baidu.com")sleep(2)#Sleep2sa=WebDriverWait(dr,10,2).until(lambdax:x.find_element_by_id(“kw”))#显示等待时间,等待单个元素的时间a.send_keys(“123”)总结:只对一个元素进行时间如果元素找不到,所有的等待时间都会消耗完再进行下一步。2、定位alert弹框alert弹框包含三种类型:alertalertdialogconfirmconfirmdialogpromptrequiresuserinputandreturnsResultdialog1.定位方法switch_to.alert:定位到alert/confirm/prompttext:返回alert/confirm/prompt中的文本信息。接受:点击确认按钮。解散:单击取消按钮(如果有)。send_keys:输入值,这个alertconfirm不能在没有对话框的情况下使用,否则会报错。2.提醒使用3.确认使用4.提示使用接口测试推荐使用国产接口测试和接口文档生成工具:apipost
