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工作理

以上是关于Selenium自动化的主要内容,如果未能解决你的问题,请参考以下文章

怎样开始用selenium进行自动化测试

eclipse自动化需要哪些selenium的包

如何提高自动化测试的执行效率 selenium java

如何利用selenium写自动化测试脚本

selenium测试为啥要启动selenium server

怎样开始用selenium进行自动化测试?