selenium3专题

Java+Selenium3方法篇1-从代码角度去解释启动firefox的过程

通过前面文章,我们知道如何去查看Selenium相关接口或者方法。一般,我们看到更多的是接口,在查看源码的时候,你可以看着这个接口的备注备份,它会告诉你,这个接口或者方法的作用,有哪些参数,参数类型是什么。为了更好去描述和理解这个过程,我们举例,通过查找源码的方式去理解Selnium启动firefox的过程。 System.setProperty("webdriver.gecko.

Java+Selenium3方法篇0-如何在Eclipse上查看Selenium源码

前面基础篇系列文章,足够你可以对Seleniun入门,至少知道写你第一个基于Java的Selenium自动化测试脚本。接下来我们介绍Selenium方法篇,主要是介绍一些常用的Selenium方法后者接口,通过这些接口或者方法的具体操作,达到能够熟练使用Selenium编写Java的自动化测试脚本,并且,为后续的Java+Selenium自动化测试框架设计打基础。只有你完全玩过或者使

Java+Selenium3基础篇5-第一个自动化测试脚本

前面几篇我们介绍了环境搭建和三大浏览器的启动方法,这篇文章我们介绍第一个自动化测试脚本。我的个人经验是,自动化脚本编写比较容易,最大的困难去如何去写测试断言。自动化测试,最重要的还是落在测试上面,而不是自动化,自动化只是手段。断言的写法,就考验出一个测试工程师是否考虑全面,体现出你的用例编写水平。 举例:验证打开链接是百度首页 分析问题: 我们输入了url,然后打开一个页面,如

Java+Selenium3方法篇25-isDisplayed方法

本篇介绍webdriver自动化测试中,经常需要进行判断的一个场景。例如,有些操作,我们做了之后,会触发一些提醒,有些是正确的提醒,有些是红色字体显示的错误提示。我们自动化里面如何去捕获这些字段,如果进行测试自动化判断呢。这里,用百度登录举例,判断“请输入验证码”这个字段出现在正确的位置上。 webdriver中有一个方法isDisplayed()来判断这个元素是否显示,相关脚

Java+Selenium3方法篇23-iframe切换的问题

这篇介绍webdriver在处理定位元素报错,提示没有这样的元素。这个时候,有可能是你测试的网页,采用了frame技术。什么是frame,简单来说,就是把一个网页划分成多个子页面,脑补这下这样的页面。我把一个空白的html文件,使用了frame技术后,分成两个页面,左边显示百度首页,右边显示谷歌首页。这个就是frame的简单使用。webdriver默认查找的元素都是Top wind

Java+Selenium3方法篇22-利用Javascript处理竖向滚动条

本篇介绍如何使用javascript脚本去处理竖向滚动条,例如有这样一个场景,你访问我的csdn主页,想下拉到当前页的地步,这个下拉,你会拖拽竖向滚动条到底部就实现了。这个过程,如果在webdriver的自动化测试,如何做呢。在webdriver中是没有拖动滚动条的方法的,需要借助javascript来根据一个页面元素去实现拖动滚动条的过程。本篇要学习两个知识点,一个是webdriv

Java+Selenium3方法篇20-浏览器退出quit和close的区别

本文介绍webdriver中关于浏览器退出操作。driver中有两个方法是关于浏览器关闭,一个叫quit,一个叫close。先来看看看两者的声明描述,请看下面声明文档。 /*** Close the current window, quitting the browser if it's the last window currently open.*/void close(

Java+Selenium3方法篇18-获取当前页的源码

本篇介绍webdriver中获取当前页面的源码,driver.getPageSource()的功能就类似,你打开一个网页,然后右键,选择查看源码一样效果。这个获取网页的源码,在网络爬虫中百分百是需要用到的。先来了解下,我们通过获取百度新闻首页的源码,打印到eclipse,看看效果。 相关脚本代码如下: package lessons;import java.util.conc

Java+Selenium3方法篇17-获取当前页面URL

本篇介绍获取当前页面的url,这个getCurrentUrl()是一个driver的方法,返回的当前driver所停留在的当前页的url。这个在自动化测试过程中是有必要的,例如在实际测试中,只会刚开始给一个测试url,开始测试,之后的其他页面,都是通过点击链接进行跳转的,所以,有时候需要判断新跳转的链接是不是正确的地址,这个时候就需要获取当前地址拿过来进行断言测试。 实例:百度首

Java+Selenium3方法篇16-driver方法获取当前页title

本篇介绍driver的一个方法,获取当前页的title。什么是title,你可以打开一个网页,按下F12,然后找到title这个标签,发现这个标签里的字符串就是我们平时在浏览器上看到的这个网页的标题。例如百度首页的title就是“百度一下,你就知道”,在webdriver中有一个driver的方法,driver.getTitle()就是用来得到当前页面的title的字段。在自动化测试

Java+Selenium3框架设计篇6-如何解决多条类下用例执行只启动一次浏览器的问题

前面我们实现了在setUp方法中添加登录的用例。今天,还是为了解决我们遗留的问题,如果执行多条测试用例,这些用例在不同类文件下,我们只需要启动一次浏览器,登录一次,然后根据顺序去执行多个类文件下的用例,最后退出并关闭浏览器。 解决思路: 1.在一个类文件中执行多个用例,我们现在没有问题 2.假如我有两个类文件,每个类文件都包含一个测试用例。如何保证用例A执行完后的driver如

Java+Selenium3框架设计篇5-如何实现邮件发送测试报告

本篇继续回答网友的问题,这个主题是如何通过邮件发送测试报告。通过邮件发送测试报告,这个很重要,也很有必要。不管你使用什么自动化测试框架,都建议添加发送测试报告的功能。先来设计我们的发送邮件的场景:假如我们测试报告是固定的名称,放在固定的路径下。 1.下载java mail api包        浏览器打开https://mvnrepository.com/artifact/co

Java+Selenium3框架设计篇4-如何实现登录功能放在setUp()方法中

本篇主要是回答一个网友的问题,就是他可以执行登录,但是登录之后的用例就执行不了,报空指针异常。在这里,特意用京东网站,结合testNG来举例实现这个功能,解决这个报错。我们的场景大概是这样的,我需要先登录,然后在京东首页搜索一个商品。就这么一个简单的测试场景,我们的测试用例的重点是在搜索商品,测试的前提条件是登录。 解决思路: 1. 登录是搜索的前提条件 2.登录能不能封装到一

软件测试系列之Python Selenium3自动化测试项目实战视频教程-田春成-专题视频课程...

软件测试系列之Python Selenium3自动化测试项目实战视频教程—923人已学习 课程介绍         本课程以实战形式讲述Python selenium3围绕实际项目,基础知识都在实际项目中讲解,以便学员掌握。学习难的是没有思路,很多零碎的东西网上都可以查到,为什么一做项目就束手无策,这是由于没有做过实际项目,没有经验,不知道如何整合。如果您有以上问题,请看本课程,课

selenium3 qq邮箱上传下载

实现功能:qq邮箱上传附件 定位元素:此为input标签,可以直接用send_keys方法,进入到邮箱页面后,首先click'写信',driver需切换到frame 通过name定位:'UploadFile'代码如下: # _*_ coding:utf-8 _*_from selenium import webdriverfrom selenium.webdriver.common.a

selenium3 qq登录frame操作

1、登录QQ邮箱       url='https://mail.qq.com/cgi-bin/loginpage' 用户名,密码分别为u,p,login_button # _*_ coding:utf-8 _*_from selenium import webdriverfrom selenium.webdriver.common.action_chains import Act

selenium3 select下拉框详解

以"百度首页"->"设置"->"搜索设置"为例介绍Select方法多种用法 法一:直接定位列表框中元素,如:选择”每页显示20 条”driver.find_element_by_css_selector('#nr > option:nth-child(2)').click() 法二:通过index 即索引se=driver.find_element_by_id('nr') #nr 为下拉框i

基于selenium3+python3.6.x+chrome57.x的自动化测试环境搭建

转载请注明出处:http://blog.csdn.net/tyhj_sf/article/details/74891096 自动化测试环境部署步骤: 1.安装Python3.6 下载安装Python3.6,下载完成后配置Python的环境变量(在path里面添加Python安装路径) python下载地址:https://www.python.org/ 2.下载安装python的第三方安

Selenium3框架详解

自从17年开始就不再怎么关注UI自动化测试了,也就很少关注Selenium的知识体系,在当时的背景和环境下有很多的思考和选择点,基于UI的自动化测试并不是所有的场合下都使用它合适,任何一个技术,要把它应用在合适的场景下才能够显示出它的最大的价值。今天这里就简单的对Page Objects做一个介绍。 基于UI的自动化测试的痛点在于如何可以高效的维护并且满足业务迭代的需求,或者说这是自动化测试的

Python3+Selenium3+Pycharm自动化环境搭建(五):AttributeError: ‘str‘ object has no attribute ‘click‘

运行unittest时出现报错:AttributeError: 'str' object has no attribute 'click',如下图所示。 检查我的basepage类中和loginpage类中的设置: # 点击元素def click(self, selector):el = self.find_element(selector)try:el.click()logger.in

Python3+Selenium3+Pycharm自动化环境搭建(四):运行unittest时报错,unhandled inspector error

在运行unittest的时候,出现了错误信息,仔细查看是unhandled inspector error,具体内容如下: 刚开始我还以为是浏览器版本和webdriver的版本没有对应上,但我明明一开始搭建环境的时候就注意了这个问题,不应该的。 再细看,是获取到的是个无效的URL,赶紧去我的config.ini文件中查看(因为我的环境搭建中有这个文件,并在其中定义了浏览器和URL), 果

Selenium3自动化测试【13】FireFox与Chrome浏览器元素定位

目前大部分浏览器都内置了相关插件或组件,能够帮助我们快速、简洁地展示各类元素的属性定义、DOM结构、CSS样式等属性。本书中使用的浏览器主要是FireFox、Chrome(这2款浏览器也是作为开发者常用的浏览器),因此本节介于这2款浏览器一起看看这些工具(组件)的使用方法。 火狐(FireFox)浏览器 如果大家对火狐浏览器较为熟知,在旧版本上的FireBug,大家一定影响深刻,FireBu

Selenium3自动化测试【6】浏览器driver的安装(FireFox)

Selenium支持各种浏览器,读者可以在不同的浏览器中开展自动化测试。它支持的浏览器包括IE、FireFox、Chrome、Opera、Safari等。本讲就围绕常用的FireFox、Chrome与Selenium的结合进行讲解。 由于Selenium3.0调用FireFox48(含48)以上的版本,需要先安装浏览器的驱动driver,因此小节讲解下浏览器驱动driver的安装。 FireFo

Python Selenium3框架详解

自从17年开始就不再怎么关注UI自动化测试了,也就很少关注Selenium的知识体系,在当时的背景和环境下有很多的思考和选择点,基于UI的自动化测试并不是所有的场合下都使用它合适,任何一个技术,要把它应用在合适的场景下才能够显示出它的最大的价值。今天这里就简单的对Page Objects做一个介绍。        基于UI的自动化测试的痛点在于如何可以高效的维护并且满足业务迭代的需求,或者说这是

Mac 环境搭建:selenium3.x + python + firefox + pycharm

为了web项目的自动化测试,我们往往需要安装selenium,网上的大量教程都是针对windows的,由于自己使用的Mac,而且火狐浏览器用的48.0+的版本,所以在搭建环境时老是出错。 一、首先安装python环境 Mac自带python2.0版本,但是我平时一般3.0+用得多,所以重新安装了anaconda3,安装教程可以参见https://www.jianshu.com/p/f7a286

python3+Selenium3中的三大等待

一、强制等待 强制等待也就是暂停,无论你现在打算做什么事情,都暂停;我们来看案例 这里可以看到我们要使用强制等待,需要导入time,这里我启动了driver,然后强制等待了两秒钟,两秒钟后我调用了driver的get方法,访问百度页面。 强制等待的优点:使用起来比较方便,简单。 强制等待的缺点:就是无法精准的把握等待的时间,如果强制等待在程序中使用多了,会影响整个自动化的运行时间。 二、隐式