Selenium自动化
Posted dadexxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium自动化相关的知识,希望对你有一定的参考价值。
基础:
date:2018505+2018506 day05+06mor
一.安装环境
1.cmd→pip install selenium
2.将浏览器驱动放入X:\\Python27下(如chromedriver.exe放入C:\\Python27)(前提是已安装浏览器)
注:浏览器驱动要和浏览器版本相对应
二.Selenium基础
1.控制浏览器
2.查找元素
①.通过元素name方法查找——xxx.find_element_by_name(\'\')
②.通过元素id方法查找——xxx.find_element_by_id(\'\')
③.通过元素css样式方法查找——xxx.find_element_by_css_selector(\'\')
④.通过元素xpath方法查找——xxx.find_element_by_xpath(\'\')【选择代码块右键Copy→Copy Xpath】【长路径 单斜杠;短路径 双斜杠】【除了文本,一切xpath查找的属性前都要加@】
⑤.通过手动书写包含方法查找——xxx.find_element_by_xpath(\'//a[contains(text(),"")]\')
⑥.通过class方法查找——xxx.find_element_by_class_name(\'\')
⑦.通过link_text方法查找——xxx.find_element_by_link_text(\'\')
⑧.同名元素处理——xxx.find_elements_by_XXX
3.selenium操作
①.智能等待——xxx.implicitly_wait(10)
②.消除原有数据——xxx.find_element_by_xpath(\'\').clear()
③.退出 驱动浏览器退出——xxx.quit()
④.关闭当前窗口——xxx.close()
⑤.下拉框操作
#二次查找(先找父类,通过父类找到子元素):
#selenium封装的方法:先导入Select
⑥.获取文本
xxx.find_element_by_xpath().text
⑦.切换框架:xxx.switch_to.frame()
切除框架(切到默认框架):br.switch_to.default_concent()
⑧.鼠标操作:导入需要的库
⑨.弹窗
通知型
需要输入内容型
⑩.多窗口处理
⑪.键盘处理:导入库
⑫.浏览器前进、后退、刷新(封装好的内容,直接使用)
xxx.forward()
xxx.back()
xxx.refresh()
⑬.截图:
⑭.滚动条操作
同步:之前的事情做完了有结果,下件事才开始
br.execute_script()
异步:一起做事情,谁先做完返回结果
br.execute_async_script()
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#滑动到底部
js=“var q=document.body.scrollTop=1000”
#滑动到顶部
js=“var q=document.body.scrollTop=0”
#执行js语句
br.execute_script(js)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#拖动元素到可见位置
ele=br.find_element_by_id(\'\')
br.execute_script("arguments[0].scrollIntoView();",ele)
⑮.Selenium其他写法(不支持link_text)
br.find_element(\'id\',\'\')
项目:
date:2018513 day08aft
一.自动化框架集成分层
1.config 配置(项目配置——测试环境,公司环境,线上环境;以中国人才热线登陆为例,网址、用户名、密码等)
2.public 公共模块(封装方法,比如点击元素、输入内容、获取文本等等)
3.Report 测试报告(里面存放测试报告以及截图;已有资料,在Public导入htmlTestRunner.py即可)
4.TestCase 测试用例(def setUp:执行测试前置条件(将public模块中封装方法的类实例化,便于后面调用类中的方法);def tearDown:测试后操作;test_login_0001:测试用例,断言)
.py文件的class要继承unittest
5.邮件(测试报告生成后自动发送邮件)
邮件服务器(在邮件设置里) 收件:pop pop3 发送:smtp
部分发送邮件服务器:smtp.126.com smtp.sina.com smtp.qq.com
构造邮件:标题 正文 附件 收件人
连接smtp服务器,账号密码登录,再把构造邮件发出
6.Runcase.py 入口(定义用例路径,定义报告路径、报告名,加载运行用例)
7.Testdata 测试数据
8.Testtool测试工具
以上是关于Selenium自动化的主要内容,如果未能解决你的问题,请参考以下文章