今天小编给大家分享如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows,下载PyCharm安装包,根据自己电脑的操作系统进行选择,对于windows系统选择下图的框框所包含的安装包. 2.选择Windows系统的专业版,将其下载到本地,如下图所示: 3.双击下载的安装包,进行安装,然后会弹出界面: 4.选择安装目录,Pycharm…
1. 简介 本文开始介绍如何通过unittest来管理和执行测试用例,这一篇主要是介绍unittest下addTest()方法来加载测试用例到测试套件中去.用addTest()方法来加载我们测试用例到suite中去和利用discover()方法去加载一个路径下所有的测试用例. 2. addTest()方法 这里首先介绍unittest下addTest()方法来加载测试用例到测试套件中去.为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这个测试脚本有一个测试用例,加上前面的测试脚本,一…
简介 最近忙着装修博客园,没时间更新文章,今天终于抽出时间把上次写的一半的文章给写完了,新的博客园风格,希望大家喜欢.今天继续介绍testng的相关知识--工厂. 工厂允许你动态的创建测试.例如,假设你需要创建一个测试方法,并用它来多次访问一个web页面,而且每次都带有不同的参数: @Factory注解从字面意思上来讲就是采用工厂的方法来创建测试数据并配合完成测试,其主要应对的场景是:对于某一个测试用例或方法,我们需要输入多个测试数据进行测试,并且这些测试数据可以是有一定关系(可以通过代码控制)…
手把手教你如何安装Pycharm——靠谱的Pycharm安装详细教程     今天小编给大家分享如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows,下载PyCharm安装包,根据自己电脑的操作系统进行选择,对于windows系统选择下图的框框所包含的安装包. 2.选择Windows系统的专业版,将其下载到本地,如下图所示: 3.…
1.简介 jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有java版的selenium,因为不会Python,或者现在大多数企业和公司还是把java奉在神坛上,所以宏哥打算就换个口味,介绍一下java+ selenium自动化测试.大致和前边的python+selenium自动化测试差不多.基于java和selenium做自动化测试,俗话说:工欲善其事必先利其…
        猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,跟着教程走下来,变身猿人找到工作不是问题.想要一起实战吗?,关注公主号猿人工厂,获取基础代码,手把手带你开发属于自己的电商系统. 设计的文章我们告一段落了,接下来的日子里,猿人君就带着大家一起来完成我们的设计——手把手的教你撸一个电商系统. 既然要搭建一个电商系统,那么自然少不了,框架搭建的事情,web开发发展到今天,前后端分离已是不…
我是在搭建TensorFlow开发环境的道路上走了很多弯路 掉了很多头发,为了让广大同学们不在受苦受累 下面我将手把手教你学习如特快速搭建python环境 快速导入numpy,PIL,pillow,等等科学计算包 这大概需要两个小时,一次性解决你的所有问题. 记住我的名字,我是行百里,这个博客期待你的光临 欢迎评论,留言 经过我的比较,综合考虑使用pycharm这个集成的IDE将极大的提高效率 减少失误,易于代码的发布,总之,这个IDE我很喜欢.使用pycharm 配合anaconda中的con…
1. 简介 其实,到前面这一篇文章,简单的Python+Selenium自动化测试框架就已经算实现了.接下来的主要是介绍,unittest管理脚本,如何如何加载执行脚本,再就是采用第三方插件,实现输出html的测试报告.本文来介绍下,在同一个类中,多个测试函数时候,测试固件如何写和进一步实现POM和可能遇到问题解决办法. 2. 一个类文件多个测试方法情况下测试固件的写法 为了说明这个问题,我们在之前的测试类基础上,再写一个test_search2()的测试用例,看看会发生什么. 2.1 代码实现…
1. 简介 截止到上一篇文章为止,框架基本完全搭建完成.那么今天我们要做什么呢????聪明如你的小伙伴或者是童鞋一定已经猜到了,都测试完了,当然是要生成一份高端大气上档次的测试报告了.没错的,今天宏哥就带领你们将这部分内容也集成到这个框架中.本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告.关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页报告就可以,其他的如果你特别感兴趣可以自己去搜索查询资料.…
本篇介绍一下python+selenium复杂操作的处理,基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.常见特殊情况处理如iframe/弹窗处理 有时候定位不到元素,是因为需要定位的元素在frame里面,这个时候需要切换到对应的frame里面,再去定位元素 # 切换frame driver.switch_to.frame("frame") # 切入到id="frame"的嵌套中 driver.switch_to.d…
引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase下有很多测试用例,并且每个测试用例都写了请求地址,请求参数,请求头等相关数据,还有一些断言的数据.如果接口很多的话,这样每个case写都要写,导致后期工作量大,维护起来不方便. 针对上述情况,引入python一个非常好用的第三方库ddt,其作用就是数据驱动,将数据与代码分离,可以把所有的接口相关的测试用例数据…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素.XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…
1.简介 CSS定位方式和xpath定位方式基本相同,只是CSS定位表达式有其自己的格式.CSS定位方式拥有比xpath定位速度快,且比CSS稳定的特性.下面详细介绍CSS定位方式的使用方法.xpath定位是"屠龙刀",那CSS定位就是"倚天剑了",相对CSS来说,具有语法简单,定位速度快等优点. 2.CSS定位优势 CSS定位是平常使用过程中非常重要的一种方式.它与xpath定位有诸多类似的地方,但是无论从性能还是语法上来说CSS都是比较有优势的.1.一般情况下定…
1.简介 按计划今天宏哥继续讲解倚天剑-css的定位元素的方法:ID属性值定位.其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位). 2.常用定位方法(8种) (1)id(2)name(3)class name(4)tag name(5)link text(6)partial link text(7)xpath(8)css selector(今天讲解) 3.自动测试实战 以百度首页为例,将CSS的各种定位方法一一讲解和分享一下. 3.1大致步骤 1.访问度娘首页. 2.通过C…
1.简介 按计划今天宏哥继续讲解css的定位元素的方法.但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用. 2.常用定位方法(8种) (1)id(2)name(3)class name(4)tag name(5)link text(6)partial link text(7)xpath(8)css selector(今天讲解) 3.自动测试实战 以百度首页为例,将CSS的各种定位方法一一讲解和分享一下. 3.1大致步骤 1.访问度娘首页. 2.通过CSS定位到元素,点击一下. 3.…
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Selenium在当前页面打开了新的窗口,此时就需要跳转到新的窗口去,就需要把窗口进行切换.宏哥这里简单举例一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页面B点击一个连接,会在新的tab窗口打开页面C.这种情况,在测试中经常遇到,自动化中,webdriver是如何处…
1.简介 尽管有的小伙伴或者童鞋们觉得很简单,不就是关闭退出浏览器,但是宏哥还是把两个方法的区别说一下,不然遇到坑后根本不会想到是这里的问题. 2.源码 本文介绍webdriver中关于浏览器退出操作.driver中有两个方法是关于浏览器关闭,一个叫quit,一个叫close.先来看看看两者的声明描述,请看下面声明文档. /** * Close the current window, quitting the browser if it's the last window currently o…
1.简介 在前边的文章中窗口句柄切换宏哥介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题.很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭,有些可能有取消和确定按钮,还有些调查的alert框,可以运行用户输入文字,例如预定一个网站的资讯,输入邮箱地址就可以,每天接收一封该网站推送的邮件. 2.alert的几个方法 关于alert还有其他几个方法,如下图所示: accept()方法就是点击确定按钮. dismiss()就是点击alert框…
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段.关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况. 2.鼠标悬停出现下拉菜单 鼠标悬停出现下拉菜单,顾名思义就是:鼠标悬停在某一元素上出现下拉菜单. 2.…
1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操作 鼠标拖拽操作,顾名思义就是:就是鼠标按住将一个元素拖拽到另一个元素上. 2.1基础讲解 //鼠标拖动API,首先实例化一个对象,后边将用这个对象进行一系列操作 Actions action = new Actions(webdriver); //source-要拖动的元素A,target-拖动元…
1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是相对前边做一个简单的总结分享给小伙伴们或者童鞋们.废话不多数,直接进入今天的主题. 2.鼠标操作 WebElement的click()方法可实现元素的点击操作,但是没有提供鼠标的右击/双击/悬停/鼠标拖动等操作.这些操作需要通过Action类提供的方法来实现! 2.1Action常用的API Act…
1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所以宏哥专门为她量身定制了一篇. FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思.在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待.在现在很多软件产品为了加强前端的效果,采取了大量的AJAX 和Jquery技术…
1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select类 1.在Selenium中,针对html的标签select多选下拉列表有几种方法: selectByIndex(index); //根据索引选择 selectByValue(value); //根据value属性选择 selectByVisibleText(text); //根据选项文字选择 注意…
1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.什么是单选框.复选框? 单选按钮一般叫raido button,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中.单选按钮的点击,一样是使用click方法.多选按钮,就是复选框,一般叫checkbox,就像我们在电子版的多选答题过程一…
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.demo准备 2.1demo页面的HTML代码 1.这里宏哥为了省事节约时间就直接用上一篇中那个radio.html.如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti…
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.demo准备 2.1demo页面的HTML代码 1.这里宏哥为了省事节约时间就直接用上一篇中那个radio.html.如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti…
1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上一篇中的一些单选和多选的基本概念都介绍了,这里就不做赘述了.直接上项目实战. 2.项目实战 2.1问卷调查 1.测试问卷调查的地址: https://www.sojump.com/m/2792226.aspx/ 2.问卷页面,如下图所示: 2.2答题思路 自动化测试答题思路,其实和前边单选多选的遍历…
1.简介 我们在实际工作中,有可能遇到有些web产品,网页上有一些时间选择,然后支持按照不同时间段范围去筛选数据.网页上日历控件一般,是一个文本输入框,鼠标点击,就会弹出日历界面,可以选择具体日期.这一篇,宏哥就来介绍一下日历控件是如何用selenium实现自动化. 2.JQueryUI网站 2.1被测网址 1.被测网址的地址: https://jqueryui.com/resources/demos/checkboxradio/default.html 2.网页如下图: 3.思路一 宏哥这里提…