‘‘‘一 Selenium请求库1.什么是selenium?selenium是一个自动测试工具,它可以帮我通过代码去实现驱动浏览器自动执行相应的操作。所以我们也可以用它来做爬虫。2.为什么要使用selenium?主要使用selenium的目的是为了跳过登录验证。3.安装与使用- 下载驱动器:http://npm.taobao.org/mirrors/chromedriver/2.38/- 下载selenium请求库- 修改下载源为清华源- D:\python36\Lib\site-packages\pip\models\index.py- PyPI = Index(‘ht...
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决:1、Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位。解决方案:如果ifram...
我使用的是win10系统,将要搭建的版本分别是:python版本-3.7.0,selenium版本-3.14.1,火狐浏览器版本-61.0.2,geckodriver版本-0.21.0 现在开始搭建环境 第一步、下载Python,安装Python,并添加到环境变量(我下载的是python3.7.0 红框只是举个栗子)官网下载地址:https://www.python.org/downloads/windows/ 安装完后,打开运行,输入cmd,输入python,出现如下图所示表示安装成功如果安装时没有勾选Add Python3.7 to PATH,...
很多时候,网页上的布局都是表格形式的,如出下面这样的这种网页类型在自动化中比较头痛,需要很多判断,下面就举个例子,这里以深圳出入境网页为例,http://yysl.sz3e.com/wsyysq/select_sldw_zbs.jsp比如我们需要点击某个星期六的任意一个可以预约的时段,该怎么写呢。首先我们要分析,这也是写程序的第一步,将手工操作进行逻辑提取,再形成程序1、先判断列表中的日期,找到星期六的列2、再从找到的列中判断可预约的时间点基本思...
前言最近有很多小伙伴在问如何判断一个元素是否存在,这个方法在selenium里面是没有的,需要自己写咯。元素不存在的话,操作元素会报错,或者元素有多个,不唯一的时候也会报错。本篇介绍两种判断元素存在的方法。一、find_elements方法判断1.find_elements方法是查找页面上所有相同属性的方法,这个方法其实非常好用,能熟练掌握技巧的不多,小编这次就发挥它的功效2.由于元素定位的方法很多,所以判断的时候定位方法不统一也比较...
运行脚本时间比较长时可以不打开浏览器测试,这样在测试运行时,电脑还是可以用作其他操作的。只需要在运行脚本上加上下面代码的678行即可 1# coding = utf-8 2 3from selenium import webdriver4import time5 6 option = webdriver.FirefoxOptions()7option.set_headless()8 br = webdriver.Firefox(firefox_options=option)910# br = webdriver.Firefox()1112 br.get("https://mail.qq.com") 原文:https://www.cnblogs.com/sue...
Selenium2+python自动化之读取Excel数据(xlrd)转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ···························································································································原文:http://www.cnblogs.com/liuyl-2017/p/7794297.html
本文章会讲述以下几个内容:1、什么是PO设计模式(Page Object Model)
2、为什么要使用PO设计模式
3、使用PO设计模式要点
4、PO设计模式实例1、什么是PO设计模式 (Page Object Model)一种在测试自动化中变得流行的设计模式,使得自动化测试脚本的减少代码重复、更易读、减少维护成本。
一般PO设计模式有三层
第一层:对Selenium 进行二次封装,定义一个所有页面都继承的 BasePage ,封装 Selenium 基本方法 例如:元素定位,元素等...
上示例:谷歌浏览器from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsoptions = Options()options.headless = Truedriver = webdriver.Chrome(options=options)# 调试时无法用driver.maximize_window()这个函数将窗口最大化,导致截图有问题# 但下面这个函数可以设置窗口大小driver.set_window_size(1500,800)driver.get(‘https://www.baidu.com‘)火狐浏览器from selenium import webdriver...
前言:今天为什么要整理读取配置文件呢?原因是:公司正在做的项目,操作页面时都是根据路由跳转,由于自己经验尚浅,将url地址写在每个用例中,导致每次开发一更改路由,我就要去每个页面中修改url地址,光来来回回找页面就很费时间,所以就想到了用配置文件,将所有url地址放在一个文件中,页面用到哪个时读取哪个。一、基础了解iniini配置文件格式如下:;这里是注释[section0]key0 = value0
key1 = value1[section1]key2 = valu...
python下安装selenium包,然后根据浏览器版本下载对应支持程序,写了个简单的测试。webdriver驱动下载: Chrome点击下载chrome的webdriver: http://chromedriver.storage.googleapis.com/index.html不同的Chrome的版本对应的chromedriver.exe 版本也不一样,下载时不要搞错了。如果是最新的Chrome, 下载最新的chromedriver.exe 就可以了。把chromedriver的路径也加到环境变量里。 FirefoxFirefox驱动下载地址为:https://github.c...
一、元素等待1.1 强制等待import time
time.sleep(5) # 固定休眠5秒1.2 隐式等待创建driver时,为浏览器对象创建一个等待时间,整个 driver 的会话周期内设置一次即可。它并不影响脚本的执行速度,若元素可以定位到则继续执行,若定位不到则以轮询的方式不断判断元素是否被定位到。from selenium import webdriverdriver = webdriver.Chrome()
driver.get("http://localhost:63342/webtest/demo.html")driver.implicitly_wait(10)...
设计思路: 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。 框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性; 2、使用yaml管理页面控件元素数据和测试用例数据。例如元素ID等发生...
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = ‘zuoanvip‘#一般用到操作滚动条的两个场景 #注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方 #要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条 #用于标识滚动条位置的代码 #<body onload="document.body.scrollTop=0"> #<body onload="document.body.scrollTop=100000">from selenium import webdriver...
因为大部分iframe没有ID和css标签,所有先定义iframe,找到iframe标签iframe=driver.find_element_by_tag_name("iframe") 进入iframe标签driver.switch_to_frame(iframe);driver.find_element_by_xpath("/html/body").send_keys("99999999")退出iframe标签driver.switch_to.default_content()原文:http://www.cnblogs.com/onlyhua/p/7454715.html