前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 一.认识多窗口 1.打开赶集网:http://bj.ganji.com/,点击招聘求职按钮会发现右边多了一个窗口标签 2.我们用代码去执行点击的时候,发现界面上出现两个窗口,如下图这种情况就是多窗口了. 3.到这里估计有小伙伴纳闷了,手工点击是2个标签,怎么脚本点击就变成2个窗口了,这个在2.1里面讲过,脚本执…
一.selenium的三种等待 当执行python的selenium代码时,如果需要定位一个元素或者点击一个元素,需要考虑到网速等多方面原因,导致页面加载速度慢,元素还未加载出来,这样就会导致找不到对应元素,从而报错的问题,所以要设置等待条件,等待元素加载出来后才执行相应的代码. 其中,selenium中有三种等待方式,下面一一进行介绍. 1.强制等待 最简单的一种方式,直接引入time模块,设置等待时间,但这种方式实用性不高,设置时间太短元素仍未找到,设置时间过长影响效率. import ti…
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Selenium在当前页面打开了新的窗口,此时就需要跳转到新的窗口去,就需要把窗口进行切换.宏哥这里简单举例一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页面B点击一个连接,会在新的tab窗口打开页面C.这种情况,在测试中经常遇到,自动化中,webdriver是如何处…
窗口切换: 当前窗口句柄 current_window_handle 所有的窗口句柄 window_handles 切换窗口 switch_to_window() #coding=utf-8 #切换窗口 from selenium import webdriver import time dr = webdriver.Firefox() dr.get("http://www.baidu.com") dr.find_element_by_link_text("登录")…
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试中 用的最多一个框架,基于Python编程语言设计的可扩展的关键字驱动模式的测试自动化框架,具备良好的可扩展性,可以通过xml-rpc服务扩展支持其它的常用编程语言,可以同时测试多种类型的客户端或者接口,可以支持进行分布式测试执行. Robot Framework具体如何的特点: 易于使用,采用表格…
背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工具的 mark,后续若有实践,我会来补充的. 一.软件测试 分类 1.根据项目流程阶段划分 需求分析 设计 编码 单元测试 集成测试 系统测试 验收测试 2.白盒测试.黑盒测试.灰盒测试 白盒测试的意义:有时候输出是正确的,但内部其实已经错误了,这种情况非常多. 灰盒测试的意义:如果每次都通过白盒测试来操作…
1.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 2.模块化驱动测试 把重复的操作独立成公共模块,用例执行过程中需要用到这一模块操作时则被调用. 优点:提高了开发效率,简化了维护的复杂性,解决了脚本的重复问题. 缺点:无法解决测试数据不同的问题. 3.数据驱动测试 数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变,直白点就是数据的参数化,…
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基…
Set<String> windows = driver.getWindowHandles();        int count = 0;        for(String handle:windows){            if(count == windows.size() - 1){                driver.switchTo().window(handle);            }else{                count++;         …
篇5                            python自动化测试应用-Selenium环境篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),从本篇开始我将开始介绍python如何通过selenium来进行web页面自动化测试,我的一贯原则实战,有什么坑我会替大家埋上. 为什么是selenium? 记得最早接触web自动化测试,大家一定会想到QTP,在学着录制完订机票的网站后也算初步认识了什么是网页的自动化测试实现.基本的思路也就是模拟点击,然后对脚本回放…