![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
五、selenium
无
菜鸟和大白谁厉害
每天进步一点点,坚持不易~~
展开
-
selenium设计模式之------PageObject,自动化测试分层设计思想
一、定义:PageObject,即页面对象。PO设计模式,是selenium中一种重要的设计模式。二、原理:就是把一个页面中的所有页面元素和页面操作,封装成一个页面类,这样在测试用例类中。只负责手工测试的业务逻辑。所以,要将原来的测试用例类拆分成page和case两部分。三、作用:如果前端页面发生变化,在某一个页面中,有某个页面元素的定位也随之发生变化。如果在几十甚至几百个测试用例中,都...原创 2019-10-08 10:46:28 · 900 阅读 · 0 评论 -
selenium自动化测试环境部署
1、安装pythonpython sdk 3.6.52、安装pycharm集成开发环境pycharm 2018.2.23、谷歌浏览器及驱动chromedriverchrome76+chromedriver4、selenium源码,通过pip命令安装pip install selenium5、测试环境测试系统...原创 2020-04-10 09:12:42 · 152 阅读 · 0 评论 -
CSS选择器——CSS_Selector定位方式详解
说明:CSS,比较麻烦,举例说明如何使用,要比记那些语法容易的多。以下是总结的京东一个用户昵称的定位方式如图:加粗样式要求:定位那个昵称,用来单击操作最后定位的结果:driver.find_element_by_css_selector('.user>a.user-name').click()分析:这个用普通的方式,是真的不好定位。第一:没有id,第二:试过xpat...原创 2019-09-19 17:27:04 · 1667 阅读 · 0 评论 -
selenium----------输入框输内容后,需要点击一下屏幕其他地方确认,如何实现
需要这样操作的话,可以不一定非得要点击空白区域,因为空白区域对应selenium来说没法操作。可以点击一个没有连接的静态图片或者文字,也是一样的效果#未税协议价driver.find_element_by_xpath('//*[@id="root"]/td[2]/div/div[2]/input').send_keys('200')#模拟点击空白区域,确认价格、#(在页面中,任意选择一...原创 2019-09-06 14:55:46 · 2075 阅读 · 0 评论 -
selenium自动化之------上传文件/图片(更新中)
前言:在实现UI自动化测试过程中,有一类需求是实现文件或图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同。情形一:有时前端点击“上传图片”的按钮,不是真正负责上传图片的控件,而是一个lable。而真正负责上传文件的控件,其实是<input type="file"/>,的input标签。那么,就可以直接利用Selenium提供的方法实现文件上传,找到这个真正负责...原创 2019-09-04 09:21:15 · 1640 阅读 · 0 评论 -
selenium之------元素高级操作ActionChains(双击、长按、键盘按键、拖拽)
ActionChains:selenium中,所有可以对页面元素进行的高级操作,都被封装在ActionChains这个类中action代表动作 chains列表 driver代表当前浏览器这三个合起来就是,把当前浏览器转化成可以执行元素各种操作的行为链原理:当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform...原创 2019-09-03 15:22:06 · 4150 阅读 · 0 评论 -
selenium之------页面刷新后,元素失效问题
报错信息:selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document (Session info: chrome=76.0.3809.132) (Driver info: ...原创 2019-09-02 10:24:19 · 5889 阅读 · 1 评论 -
web元素定位之------非select下拉框类型的定位
如果下拉框是由li标签组成的,如下# 先定位到下拉菜单ul = driver.find_element_by_css_selector("div#select2_container > ul")# 再对下拉菜单中的选项进行选择ul.find_element_by_id("li2_input_2").click()...原创 2019-09-01 18:04:35 · 1511 阅读 · 0 评论 -
web元素定位之------弹出框Alert
HTML DOM alert() 方法要想了解alert,先来了解一下【HTML DOM Window 对象】。Window 对象表示浏览器中打开的窗口。如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。alert() 是Window 对象的一个方法alert不是页面元素,是javas...原创 2019-08-30 11:19:41 · 5651 阅读 · 2 评论 -
web元素定位之------日历控件的定位
一、日历控件本质:1、input输入标签2、type是text类型的输入框3、输入框为readonly类型,手动不能输入的时间,也不能通过send_keys()方法输入4、删除readonly属性,就可以进行输入。二、传统方法:进行多次定位、点击,分贝选择年月日麻烦、易出错、不稳定三、新方法:1、先删除readonly属性2、想输入框进行send_keys()但是:sele...原创 2019-08-30 10:16:42 · 1330 阅读 · 0 评论 -
web元素定位之---下拉框定位
下拉框定位,有两种类型:第一种:类型下拉框Select提供了三种选择方法:select_by_index(index) ——通过选项的顺序,第一个为 0 select_by_value(value) ——通过value属性 select_by_visible_text(text) ——通过选项可见文本Select提供了四种方法取消选择:deselect_by_index(inde...原创 2019-08-30 09:54:13 · 9766 阅读 · 0 评论 -
web元素定位之------submit定位
一、实例:1、代码格式:li列表、ul无序列表、构成了一个form表单。form表单数据特点,多个数据同时提交给服务器<form> <ul> <li>用户名</li> <li>密码</li> <li>登录</li> </ul></form>2、问题:...原创 2019-08-29 16:31:11 · 771 阅读 · 0 评论 -
web元素定位之---【省/市/区】select下拉框类型的定位
web自动化测试中,如何对收货地址进行定位,如下图一、在未选择省之前copy得到的xpath为//*[@id="newReceiver"]/table/tbody/tr[3]/td/span/selectcopy得到的selector为#newReceiver > table > tbody > tr:nth-child(3) > td > span &...原创 2019-08-29 14:09:15 · 1507 阅读 · 0 评论 -
selenuim----时间等待
一、出现位置:1、打开新窗口2、页面加载慢二、解决方法:1、在稳定性差的操作前加一个时间等待2、隐式等待:导入time类库,在脚本最上方加入代码,等待10秒import tomedriver.implicitly_wait(10)#每次都打开全屏,窗口最大化driver.maximize_window()每次打开新页面,都会有等待10秒的操作。一般后面加上窗口最大化...原创 2019-08-29 11:52:49 · 142 阅读 · 0 评论 -
selenium定位之------------css_selector详解
css_selectorSelenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素。原因:CSS locator比XPath locator速度快,特别是在IE下面(IE没有自己的XPath 解析器(Parser))他比xpath更高效更准确更易编写,美中不足是根据页面文字时略有缺陷没有xpath直接。因为前端开发人员就是用CSS Selecto...原创 2019-08-29 11:40:22 · 7135 阅读 · 0 评论 -
selenium之八大定位技术
1、id定位: find_element_by_id()定位到的搜索框属性中,有个id="kw"的属性,我们可以通过这个id定位到这个搜索框# coding = utf-8from time import sleepfrom selenium import webdriver# 驱动文件路径driverfile_path = r'D:\coship\Test_Framework\dr...原创 2019-08-29 15:49:32 · 234 阅读 · 0 评论 -
selenium自动化-----切换到新窗口/新frame
问题描述:在web自动化测试过程中,如果点击一个按钮,打开一个新的窗口,那么后续的新页面的点击操作,无响应出现原因:两个窗口之间,可能有相同的页面元素。比如输入框,在两个页面上的id可能是一样的实验两个id一样的输入框,在两个不同的窗口,输入内容。可以发现,根据id输入的内容,sendkeys之后,会输入到原来的窗口中所以,浏览器打开新窗口后,selenium仍然在原来的窗口工作解决方...原创 2019-08-28 17:57:16 · 1935 阅读 · 1 评论 -
python验证码识别----总结笔记
一、环境准备:任务python验证码识别语言python 版本3.7语言工具pycharm 版本2018.2.2工具selenium 版本3.14技术1接口识别库 request技术2图片切割库 pillow二、传统技术1、万能能验证码—(缺点:不算模拟用户行为)2、保存服务端的cookie值(保留成功状态。缺点:并未...原创 2019-08-29 15:53:03 · 835 阅读 · 0 评论