学习目的: 了解WebDriver的高级应用 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import Select from selenium.webdriver.common.keys import Keys from selenium.…
学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import Select from selenium.webdriver.common.keys import Keys from seleni…
学习目的: 中级水平技术提升 在WebDriver脚本代码中执行JS代码,可以解决某些 .click()方法无法生效等问题 正式步骤: Python3代码如下 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import Select from selenium.webdriver…
学习目的: 掌握显示等待 掌握二次封装 正式步骤: step1:显示等待的代码示例 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait import time import os dr = webdriver.Chrome() url = 'http://renren.com/' dr.get(url) # dr 表示打卡浏览器…
学习目的: xpath定位是针对常规定位方法中,最有效的定位方式. 场景: 页面元素的定位. 正式步骤: step1:常规属性 示例UI 示例UI相关HTML代码 相关代码示例: #通过id定位 dr.find_element_by_xpath('//*[@id="loginform-username"]').click() #通过tag标签定位 #*号可以匹配任何标签 dr.find_element_by_xpath('//*[@id="loginform-username…
前置步骤: 安装selenium,chrome驱动,Python3.6 学习目的: 常见API的使用 涉及的API: step1: 访问一个网址 step2: 网页的前进和后退 step3: 刷新当前页面 step4: 浏览器窗口最大化 step5: 获取并设置当前窗口的位置 step6: 获取并设置当前窗口的大小 step7: 获取页面的title属性值 step8: 获取页面HTML源代码 step9: 获取当前页面的URL step10: 获取与切换浏览器窗口句柄 step11:获取页面元…
前置步骤 Python版本:3.6.4 selenium版本:3.11.0 >>> import selenium >>> help(selenium) IDE:Pycharm 学习目的 掌握Python版本的selenium自动化技能,对所学的知识总结,可以作为日后工作的参考: 对学习的Python脚本编码能力再磨练,实战中学习: 为后续的跳槽作准备,说难听点,不会编码的测试,去哪都没啥竞争力 正式步骤 Step1:unittest框架中最核心的4个概念:test f…
前置步骤: 上一篇的Python单元测试框架unittest,我认为相当于功能测试测试用例设计中的用例模板,在自动化用例的设计过程中,可以封装一个模板,在新建用例的时候,把需要测试的步骤添加上去即可: 而现在要做的就是学习如何定位页面元素,告诉系统我要找到什么UI元素,然后才能进一步的采取其他措施: 其实不想写这篇内容,可是又觉得如果去官方文档找信息又效率慢,那么我就将常用的步骤归纳,那样可以快速查阅解决问题. 参考英文官方资料:http://selenium-python.readthedoc…
学习目的: 掌握页面常规元素的定位方法 场景: 网页正常的select元素下拉框常规方法和select专属方法 正式步骤: step1:常规思路select页面元素定位 处理HTML代码截图 # -*- coding:utf-8 -*- from selenium import webdriver import time from selenium.webdriver.common.action_chains import ActionChains #常规select方法:百度首页设置搜索结果显…
学习目的: 掌握iframe矿建的定位,因为前端的iframe框架页面元素信息,大多时候都会带有动态ID,无法重复定位. 场景: 1. iframe切换 查看iframe 切换iframe 多个iframe的问题 2.多窗口iframe 获取句柄 切换句柄 正式步骤: step1: 如果iframe中含有动态ID的情况规避方法 问题截图 规避代码: # -*- coding:utf-8 -*- """ 模拟登陆126邮箱 """ from sel…
测试代码,虽然有点笨重,以后再修改: if __name__ == '__main__': report = os.path.join('D:/Python36/report/report.html') suite1 = unittest.TestSuite() suite1.addTests([TestStringMethods('test_split'),TestStringMethods('test_isupper'),TestStringMethods('test_upper')]) w…
学习目的: 掌握python的基础应用 场景: 生成的测试日报需要加上时间戳作为唯一标志,免得文件覆盖,过往的文件丢失 因为os.rename方法要求文件名必须拼接的都是字符串 代码释义: # 日期转换为字符类型的时间 time1 = datetime.datetime.now() time_new = datetime.datetime.strftime(time1,"%Y-%m-%d-%H-%M-%S") print(time_new) print(type(time_new))…
FAQ: 情景1: 设置等待时间 A方法:sleep 线程休眠,但只单次有效,其他操作需要加载等待时间,需要再次添加time.sleep() B方法:implicitly_wait() from selenium import webdriver import time dr = webdriver.Chrome() dr.get("https://www.baidu.com") dr.find_element_by_id("kw").send_keys("…
学习目的: 掌握WebDriver的高级应用 正式步骤: # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import Select from selenium.webdriver.common.keys import Keys from selenium.common.excep…
FAQ: 情景:之前写好可以正常执行的python脚本,突然main函数下的代码不运行 原因:pycharm中,会设置py脚本按照unittest的方式运行,也就是只运行用例,不运行main函数下代码 解决方案: step1: 按alt+shift+F10或者点击截图中按钮 step2: 选择编辑结构 step3: 将不想按照unitest方式运行的用例 “-”掉即可 step4:点击保存 step5:run -> run 运行用例即可…
简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 Selenium 是一个健壮的工具集合,跨很多平台支持针对基于 web 的应用程序的测试自动化的敏捷开发.它是一个开源的.轻量级的自动化工具,很容易集成到各种项目中,支持多种编程语言,比如 .NET.Perl.Python.Ruby 和 Java? 编程语言. 利用 Selenium 测试 Aja…
Python3 Selenium自动化-select下拉框 selenium介绍select下拉框相关的操作方法:…
import time from selenium import webdriver from lxml import etree from selenium.webdriver import ActionChains browser = webdriver.Chrome() url = "http://www.baidu.com" browser.get(url) title = browser.find_element_by_xpath('//*[@id="su"…
1 运行之后,出现如下报错 Selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH  信息显示 geckodriver需要在path环境变量中 解决方法: 下载geckodriver,地址为:https://github.com/mozilla/geckodriver/releases 找到下载目录,将geckodriver.exe的安装路径添加到pa…
1.F5可查看所有关键字,如图: 2.浏览器相关关键字: 2.1  Open Browser    https://www.baidu.com  chrome    # 打开浏览器,rf默认使用火狐浏览器,所以如果不指定浏览器,则默认使用火狐,我们可以指定浏览器为chrome,操作更快 2.2  Close Browser        # 关闭浏览器 2.3  Close All Browser    # 关闭所有浏览器并重置缓存 2.4  Maximize Browser Window   …
一.案例实施步骤思路分析 1.寻包 2.指定浏览器(实例化浏览器对象) 3.打开项目 4.找到元素(定位元素) 5.操作元素 6.暂停 7.关闭二.元素定位[重点] 1.id 说明:通过元素的id属性表来定位 前提:元素必须有id属性 方法:driver.find_element_by_id(id值) 2.name 说明:通过元素的name属性来定位 前提:元素必须有neme属性 方法:driver.find_element by_name(name值) 3.class name 说明:通过元素…
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本章中的API第一显示的都是类的绝对位置.然而,要推荐的是下面这种import风格: from selenium import webdriver 接着,你可以像下面这样访问其中的类: webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrom…
WebDriver高级应用 public class Demo4 { WebDriver driver; // @BeforeMethod:在每个测试方法开始运行前执行 @BeforeMethod public void beforeMethod(){ System.setProperty("webdriver.chrome.driver", "e:\\chromedriver.exe"); driver = new ChromeDriver(); } // @Af…
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_195 "世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的-",这是电影<卡萨布拉卡>中的一句著名独白,投射到现实生活中,与之类似的情况不胜枚举,这世界上有那么多的系统,系统中有那么多的浏览器,在只有一台测试机的前提下,难道我们只能排队一个一个地做兼容性测试吗?有没有效率更高的方法呢?为此我们提出一个更高效的解决方案:使用Docker+Selenium Grid. Selenium Grid…
在前面爬虫的相关介绍中,我们介绍了如何抓取静态页面信息.但是,在实际的网页浏览过程中,我们可能会经常碰到各种需要进行交互的操作,典型的如输入信息.点击按钮之类. 对于这种场景,之前的静态页面操作方式已经不能满足需求,这时我们需要借助新的工具,比如selenium或者PhantomJS.由于后者已经停止维护,推荐使用前者. 1.selenium是什么 如果大家有做过web的自动化测试,相信对于selenium一定不陌生,测试人员经常使用它来进行自动化测试. selenium最初是一个自动化web测…
摘要:学习有关 Visual Studio 2005 Web 测试的更多知识,包括 Web 测试引擎和记录器如何工作,以及如何创建有效的 Web 测试. 本页内容 读者 简介 记录一个 Web 测试 运行并验证 Web 测试 解决常见的 Web 测试问题 深入研究进行编码的 Web 测试 小结 读者 本文面向的测试人员和开发人员,是那些想丰富有关 Microsoft Visual Studio 2005 Team Edition for Software Testers 中 Web 测试功能经验…
package com.allin.pc;import java.util.List;import org.openqa.selenium.WebElement;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import or…
Ajax浮动框 我们常遇到的某些网站首页输入框,点击后显示的浮动下拉热点,如下图: 实际案例 模拟场景如下: hao123首页搜索输入框,单击搜索框,点击浮动框中的哪吒票房破30亿,单击后选项的文字内容会显示在搜索框中,并进行搜索 具体代码如下: import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.…
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博文 二.Selenium前四篇博文地址: [Selenium篇01]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! https://www.cnblogs.com/csmashang/p/12705756.html [Selenium02…
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博文 二.Selenium第一篇和第二篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! [Selenium02篇]python+selenium实现Web自动化:鼠标操作和键盘操作! 三.Seleniu…