selenium
测试工程师_
本来早想创建一个博客写点东西,用自己走的路来帮助学者们少绕弯儿,也帮助自己积累知识的时候不忘最初的梦想,现在想来也不晚,通过一年半的积累我想把我学到的以及今后要走的路让csdn的一片片文章记录
展开
-
转发配合selenium显性等待使用的ec模块
https://blog.csdn.net/zyooooxie/article/details/84561783转载 2021-04-20 15:49:57 · 160 阅读 · 0 评论 -
selector下拉框
关于下拉框的定位方式 selector 1.二次定位 driver.find_element_by_id("").find_element_by_xpath("//option[@value='50']").click()2.直接定位 driver.find_element_by_xpath("//selector[@id='nr']/option[2]").c原创 2017-12-04 15:23:54 · 496 阅读 · 0 评论 -
定位一组元素 和 iframe
1.定位一组元素 driver.find_elements_by_css_selector("h3.t>a") 如上就定位了一组a元素2.get_attribute 获取元素属性值iframe 使用xpath左上角判断是否为iframe标签简单来说就是一个html文档中有另一个html文档存在切换 iframe switch_to_frame原创 2017-12-04 15:23:29 · 287 阅读 · 0 评论 -
鼠标键盘的一些操作
1.点击 click()2.清空 clear()3.输入 send_keys()4.模拟回车 sumbit() send_keys(Keys.ENTER)5.模拟键盘操作 send_keys(Keys.CONTROL,'value') value = 'a' 'v' 'c' 'x' 键盘输入ctrl+avcx6.键盘输入tab原创 2017-12-04 15:22:47 · 285 阅读 · 0 评论 -
selenium对浏览器的操作
1.打开网页 webdriver.Firefox().get(url)2.设置休眠 import time time.sleep()3.页面刷新 driver.refresh()4.页面切换 后退:driver.back() 前进:driver.forward()5.设置窗口大小:er.get_screenshot_as_file原创 2017-12-04 15:20:20 · 614 阅读 · 0 评论 -
弹框和单选框,复选框
关于弹框1.alert 2.confirm 3.prompt1.有确定 2.有确定有取消 3.有确定有取消有输入框操作。首先切换到弹框 switch_to_alert()accept() 确定 dismiss()取消driver.switch_to_alert().accept()2,3 的操作 dismiss 和s原创 2017-12-04 15:24:17 · 1221 阅读 · 0 评论 -
cookie的相关操作
1.获取 cookies 方法直接用:get_cookies()2.先启动浏览器,获取 cookies,打印出来发现是空:[]3.打开博客首页后,重新获取 cookies,打印出来,就有值了4.先登录博客园(这里登录用自己的账号和密码吧)5.重新获取 cookies,发现跟之前获取的不一样了6.主要是找到这一个 cookie,发现它的 name 和 value 发生了变化,这就原创 2017-12-04 15:26:02 · 603 阅读 · 0 评论 -
table的定位 关于每次启动firebug插件消失问题
body table id=mytable tr th th tr tr td 我们要定位这个元素 td tr tablebod原创 2017-12-04 15:24:49 · 200 阅读 · 0 评论 -
富文本 文件上传
富文本比如一个博客的编辑器1.打开编辑页面2.切换iframe3.定位输入框4.输入正文 如果无法输入先send_keys(Keys.TAB)文件上传分两个场景 第一种是 input 使用selenium的send_kyes解决第二种是非input标签 可以借助工具 autoit 或者SendKeys第三方库在这里还是 如果有ifame的话切换原创 2017-12-04 15:25:06 · 1314 阅读 · 0 评论 -
页面类pageobject的封装 测试类的实现
直接上代码class WakaLoginPage(BasePage): ''' 此类为页面类,通过每个页面封装成类来进行元素的定位器和流程写函数和变量 在实际工作中根据不同的业务逻辑进行参考变换,不要一成不变的使用POM思想 ''' # 定位器,定位页面的元素内容 username_locator = ('id', 'username')原创 2018-01-19 18:09:10 · 1195 阅读 · 0 评论 -
basepage.py的封装
自定义的库封装(我们有很多方法需要重复调用,例如浏览器的引擎以及basepage.py的封装)这是我们在第一篇写到的一句话我们在上一张进行了配置文件的写法,内容,读取数据以及浏览器引擎类的封装,log工具类的创建方便了我们测试用例使用unittest框架书写时 setup和teardown的书写,还有日志的打印方便我们的维护和调试避免了重复的代码。思路清晰每个py都有自己的分工和功能。这一章我们需原创 2018-01-19 12:14:33 · 1777 阅读 · 1 评论 -
从0搭建pythonseleniumweb框架之第一步编写配置文件,浏览器引擎类,日志类
1.首先 我们需要创建一个配置文件 Config -- config.ini 为什么适用ini文件作为配置文件 PS:因为ini文件结构如下 【Type】 key = value #key_2 = value_2 我们读取ini文件的时候,拿到value很方便 例:import configParser #导入处理ini文件的类库原创 2018-01-17 18:35:44 · 587 阅读 · 0 评论 -
自动化框架的构思以及POM思想搭建框架的优势
在学习时手写记录优化自己所学到的知识并且分享给他人是我的快乐1.自动化框架 翻译 (Automation Framework)需要 1.配置文件管理 (我选用ini文件) 2.业务逻辑代码和测试脚本分离 3.输出测试报告文件 4.输出日志(log)文件 5.自定义的库封装(我们有很多方法需要重复调用原创 2018-01-17 18:33:27 · 2155 阅读 · 0 评论 -
关于selenium常用api的简介与记录
一、浏览器操作1、浏览器最大化driver.maximize_window() #将浏览器最大化显示2、设置浏览器宽、高driver.set_window_size(480, 800)#设置浏览器宽480、高800显示3、控制浏览器前进、后退driver.back()#浏览器后退driver.forward()#浏览器前进二、简单对象的定位webdriver 提转载 2018-01-25 10:02:26 · 519 阅读 · 0 评论