![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
selenium
嘿菇凉
这个作者很懒,什么都没留下…
展开
-
xpath定位与css定位扩展
xpth定位xpth绝对路径定位,定位div/div/下面的input元素find_element_by_xpath("/div/div/input")相对路径定位#定位input标签下面的name元素find_element_by_xpath("//input[@name="name"]")#定位div下面的input/tc元素,相对路径定位如果子元素没有没有可标识的属性。可以层级...原创 2019-06-19 21:03:59 · 316 阅读 · 0 评论 -
selenium生成测试报告
单一脚本测试报告if __name__ == "__main__": #unittest.main() testunit = unittest.TestSuite() testunit.addTest(Test("test_dr")) #获取时间格式 now = time.strftime("%Y-%m-%d %H_%M_%S") #定义测试报告路...原创 2019-06-22 15:49:50 · 3422 阅读 · 0 评论 -
HTMLTestRunner文件
HTMLTestRunner测试报告文件"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest way to use this is to invoke its main met...原创 2019-06-22 14:55:00 · 154 阅读 · 0 评论 -
selenium断言方法
断言方法严格意义来讲,一个自动化脚本如果没有断言,它就不是一个完整的自动化用例。下面介绍常用的断言方法断言第一个参数跟第二个参数是否相等assertEqual(value1,value2,msg="assert失败") #断言相等assertNotEqual(value1,value2) #断言不相等#msg是可选参数,用于断言失败时打印的信息断言第一个参数是否包含在第二...原创 2019-06-22 14:46:08 · 8138 阅读 · 1 评论 -
关于无法执行页面元素操作的解决办法
开发自动化脚本的时候,页面元素无法聚焦或者click失效,导致click()无法执行。这个时候我们得祭出js大法。情况1:页面元素无法聚焦js = "document.getElementById('id').click();"driver.execute_script(js)情况二:js定位只有id和name属性是单一定位元素,其它定位方法都是复数(多个元素)。比如:tagname、c...原创 2019-06-25 21:59:34 · 466 阅读 · 0 评论 -
selenium上传文件(autolt)
Autolt上传文件写UI自动化脚本的时候,有些业务场景避免不了要上传一些文件或者图片。如果是input输入框我们可以直接使用send_keys()进行上传,但如果不是,我们就得用第三方插件(Autolt)进行文件上传因为selenium不能操作操作系统。autolt下载地址:https://www.autoitscript.com/site/autoit/downloads/#autolt...原创 2019-06-22 00:31:01 · 525 阅读 · 0 评论 -
selenium多表单切换以及多窗口切换、警告窗处理
selenium表单切换在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的。却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪。切入表单:iddriver.switch_to_frame("id") #id属性值切入表单切入表单:namedriver.switch_to_frame("name") #name属性值切入表单切入表单默认取表单的id或...原创 2019-06-21 22:20:02 · 721 阅读 · 3 评论 -
selenium定位一组元素以及select、截图操作
定位一组元素定位一组元素跟定位一个元素的方法都是一样的,唯一不同的是element要加个s表示复数find_elements_by_name("name")应用场景:1、批量操作元素、比如勾选所有复选框2、先获取一组元素,过滤出要操作的元素获取一组元素中的某个元素进行操作:popfind_elements_by_name("name").pop().click()pop()或pop...原创 2019-06-20 23:32:18 · 626 阅读 · 0 评论 -
selenium设置元素等待时间以及获取验证信息
selenium设置元素等待时间设置页面识别等待时间30秒driver.implicitly_wait(30)设置页面加载超时时间driver.set_page_load_timeout(30)设置异步脚本加载时间driver.set_script_timeout(30)休眠时间import time #导入time模块time.sleep(3) #等待3秒获取...原创 2019-06-20 22:43:42 · 626 阅读 · 0 评论 -
selenium键盘事件
selenium键盘事件#导入keys模块from selenium.common.keys import Keys#常用的键盘操作send_keys(Keys.BACK_SPACE) #删除键send_keys(Keys.SPACE) #空格键send_keys(Keys.TAB) #制表键send_keys(Keys.ESCAPE) # 回退键send_keys...原创 2019-06-20 21:38:19 · 260 阅读 · 0 评论 -
selenium八种定位方式
from selenium import webdriver #import 浏览器驱动driver = webdriver.Firefox() #指定浏览器url = “www.baidu.com” #访问的网址driver.get(url) #打开网址#id定位方式,页面元素有id属性尽量用id定位,因为id是唯一的driver.find_element_by_id...原创 2019-06-18 22:38:22 · 117 阅读 · 0 评论 -
selenium鼠标事件
selenium鼠标事件我们在做自动化测试的过程中,经常要模拟一些鼠标操作。比如说:鼠标悬停、双击、右击。下面就介绍下selenium的鼠标事件#导入ActionChains鼠标模块from selenium.webdriver.common.action_chains import ActionChains鼠标悬停:move_to_element()value = driver.fi...原创 2019-06-19 23:27:03 · 283 阅读 · 0 评论 -
selenium元素基本操作
selenium元素基本操作输入信息:send_keys()driver.find_element_by_id("id").send_keys("text")清除文本:clear()driver.find_element_by_name("name").clear()点击操作:click()driver.find_element_by_class_name("classname")....原创 2019-06-19 22:41:21 · 146 阅读 · 0 评论 -
selenium控制操作浏览器
selenium控制操作浏览器设置浏览器窗口显示大小dirver.set_window_size(800,600) #设置浏览器宽800,高600显示设置浏览器全屏显示driver.maximize_window()刷新页面driver.refresh()返回上一页面driver.forward()返回下一页面driver.back()退出关闭浏览器driver.q...原创 2019-06-19 21:56:52 · 282 阅读 · 0 评论 -
selenium生成测试报告并发送到指定邮箱
发送测试报告邮件from HTMLTestRunner import HTMLTestRunnerimport unittestfrom email.mime.text import MIMETextfrom email.header import Headerimport smtplibimport timeimport os#定义发送邮件def send_mail(file...原创 2019-06-22 16:19:34 · 866 阅读 · 0 评论