软件测试
软件测试干货
川石教育
专注软件测试领域,自动化测试,性能测试,接口测试,测试开发,安全测试,鸿蒙应用开发,分享前沿技术,简历面试辅导,免费资料领取等!
展开
-
高级软件测试工程师必备知识与技能
高级软件测试工程师应该具备哪些技能和知识,川石哥带你了解相关技能与知识。Linux环境搭建及命令1.虚拟机的搭建与使用搭建虚拟机的操作步骤搭建虚拟机系统环境虚拟机的基本操作与使用2.Linux系统安装,搭建测试环境使用虚拟机,安装Linux系统熟悉Linux系统,了解基本操作Linux系统下搭建测试环境3.Linux的基本语法和命令熟悉Linux执行环境,以及常用命令Linux相关拓展4.Linux环境下搭建测试环境Linux环境下安装数据库Linux环境下安装jmeterL原创 2020-09-04 11:05:25 · 1723 阅读 · 0 评论 -
初级软件测试工程师需要具备那些知识与技能
哈喽,大家好,今天我们来聊聊如何成为一名初级软件测试工程师,需要必备那些知识和技能。什么是软件测试软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件品质,并对其是否能满足设计要求进行评估的过程。软件测试的现实定义是:软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。掌握技能1.测试基础理论:你要明白一家互联网公司各个岗位是做什么的,主要是前端,后端原创 2020-09-03 11:28:45 · 6805 阅读 · 0 评论 -
接口安全性测试技术(7):CRSF及接口防刷技术
什么是CRSFCSRF(Cross-site request forgery)即跨站请求攻击。简单的说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己以前认证过的站点并运行一些操作(如发邮件,发消息,甚至财产操作(如转账和购买商品))。因为浏览器之前认证过,所以被访问的站点会觉得是这是真正的用户操作而去运行。这就利用了web中用户身份认证验证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。其实可以这么理解CSRF攻击:攻击者盗用了你的身份,.原创 2020-09-02 11:05:25 · 354 阅读 · 0 评论 -
接口安全性测试技术(6):XSS
什么是XSS跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入的Script代码会被执行,从而达到恶意攻击用户的目的。XSS类型1.反射式XSS反射型 XSS 一般是攻击者通过特定手法(如电子邮件),诱使用户去访问一个包含恶意代码的 URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。反射型XSS通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端 Cookies或进行钓鱼欺骗。存储式XSS也叫持久型X.原创 2020-09-01 11:08:39 · 737 阅读 · 0 评论 -
接口安全性测试技术(5):SQL注入
DVWA环境搭建DVWA-1.0.7.ziphttp://IP:Port/dvwa/login.php。默认用户名 admin, 默认密码 password什么是SQL注入SQL注入是发生在应用程序数据库层的安全漏洞。简而言之,是输入的文本中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而执行,因此遭到破坏。SQL注入类型1.数字型注入http://www.test.com/msg/test.php?myno=1’http:.原创 2020-08-31 11:26:39 · 1921 阅读 · 0 评论 -
接口安全性测试技术(4):测试维度之攻击访问控制
三、攻击访问控制从逻辑上讲,应用程序的核心安全机制——访问控制建立在验证和会话管理之上,如果应用程序的访问控制存在缺陷,攻击者往往能够很快的攻占这个应用程序。访问控制漏洞的概念其实很简单即应用程序允许攻击者执行或者访问某种攻击者不具备相应权限的功能或资源。常见的访问控制可以分为垂直访问控制、水平访问控制及多阶段访问控制(上下文相关访问控制),与其相应的访问控制漏洞为也垂直越权漏洞(普通用户可以访问或执行只有管理员才具有权限访问或执行的资源或功能),水平越权漏洞(某一用户可以访问或执行另一个用户才有权限访.原创 2020-08-28 11:11:43 · 374 阅读 · 0 评论 -
接口安全性测试技术(3):测试维度之攻击会话管理
二、攻击会话管理HTTP协议本身是“无状态”,“无连接”的,也就是说HTTP协议本身并不会记住客户端访问的上下文,也无法保存客户端的各种状态,这其中就包括登录状态。如果HTTP不能保存用户的登录状态那就意味着用户在每次访问需要身份验证的网站时都必须填写用户名及密码,这里的“每次访问”是指每个单次的HTTP请求包括刷新一次页面。为了解决上述的问题Web应用程序就需要使用会话这个概念,即用户登录成功后为其建立一个会话,通过会话记录用户的各种状态,通常使用Cookie及Session实现会话机制。确定会话令.原创 2020-08-27 10:58:02 · 153 阅读 · 0 评论 -
接口安全性测试技术(2):测试维度之攻击验证机制
一、攻击验证机制身份验证是核心防御机制中最薄弱的环节,身份验证机制也是攻击者的主要攻击目标之一。常见的验证技术1、基于HTML表单的验证(最常见)2、多元机制,如组合密码和物理令牌多用于安全性要求较高的应用程序比如说提供进行巨额交易服务的私人银行3、客户端SSL证书或智能卡这种验证技术成本昂贵,通常只有那些用户不多的安全性极其重要的应用程序才会使用它们。4、HTTP基本认证和摘要认证这种验证方式通常会出现在企业内网中,这种验证机制是建立在域环境及内网对用户的访问控制之上的。5、使用NT.原创 2020-08-26 11:02:52 · 576 阅读 · 0 评论 -
接口安全性测试技术(1):OWASP Top Ten
OWASP Top TenOWASP Top 10是一个面向开发人员和web应用程序安全性的标准意识文档。它代表了关于web应用程序最关键的安全风险的广泛共识。十大Web应用程序安全风险(2017版)注入:注入缺陷,如SQL、NoSQL、OS和LDAP注入,当将不受信任的数据作为命令或查询的一部分发送到解释器时注入缺陷随即产生。攻击者的恶意数据可以欺骗解释器执行非预期的命令或在没有适当授权的情况下访问数据。失效的身份认证:与身份验证和会话管理相关的应用程序功能通常会错误地实现,从而使攻击者能够破.原创 2020-08-25 10:48:47 · 480 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Analysis分析器(3)
LoadRunner性能测试Analysis分析器的Analysis分析器摘要报告,这期我们来讲讲,Analysis常见图分析。在分析视图时通常会先分析一些常用的视图,之后才会分析其它的一些相关数据,通常分析的视图有:Vuser图、点击率视图、平均事务响应时间视图和吞吐量视图。在LoadRunner分析器中对资源使用的情况分析的很少,因为通常在性能测试过程中很少使用LoadRunner来监控系统资源的使用,特别是Linux、Unix和AIX操作系统,几乎不使用LoadRunner来监控,更多的是借助第三方原创 2020-08-21 14:00:12 · 188 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Analysis分析器(2)
上期讲到LoadRunner性能测试Analysis分析器的Analysis简介,这期我们来讲讲,Analysis分析器摘要报告。摘要报告摘要报告提供了场景执行的一般信息。该报告始终存在于树视图或者作为Analysis窗口中的选项卡。可以通过选择View→Export Summary to Excel将摘要报告导出到Excel中。主要包括概要、统计、事务统计、SLA分析和HTTP响应统计五大部分。概要部分Analysis概要总结部分的信息如图所示。包括三部分内容:1.Scenario Name原创 2020-08-20 11:17:17 · 244 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Analysis分析器(1)
分析器顾名思义就是对测试结果数据进行分析的组件,它是LoadRunner三大组件之一,其重要性不言而喻。在Controller组件执行场景的过程中,LoadRunner会将数据收集起来并保存到数据库中。当场景执行完成后,可以进入Analysis组件对这些数据进行分析。分析器中保存着大量用来分析性能测试结果的数据视图,但并不一定要对每个视图进行分析,可以根据实际情况选择相关的数据视图进行分析,分析结果可以生成一些不同格式的测试报告。主要讲述以下几部分内容:Analysis简介摘要报告Analysis原创 2020-08-19 11:20:11 · 789 阅读 · 2 评论 -
LoaRunner性能测试系统学习教程:Controller控制器(下)
引言在阅读本文时,请先查看我们上期的文章哦!场景开始时间如图所示,场景启动时间设置有三种方式。启动方式一:点击Start Scenario按钮后,场景立即开始,没有延误时间。启动方式二:点击Start Scenario按钮后,推迟指定的时间后才开始运行。启动方式三:点击Start Scenario按钮后,在指定的时间开始运行,如下午16:30运行。假设在白天进行手工测试,晚上执行性能测试,这样就可以通过这个选项来设置指定的时间运行场景。百分比模式百分比模式是先设定好虚拟用户总数,然后按百原创 2020-08-18 11:10:32 · 311 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Controller控制器(上)
摘要Controller组件是LoadRunner的控制中心,主要包括场景设计和场景执行两部分。在VuGen中编辑完脚本并将脚本加载到Controller组件中,即开始对脚本运行时的场景进行设计,当场景设计完成后,即可执行该场景。场景设计主要是依据需求说明书制定脚本如何执行的策略,使脚本的运行更接近真实用户使用。场景执行是指当场景设计完成后手动运行场景,在场景执行过程中可以实时对场景产生的数据进行监控。主要讲述以下几部分内容:1.场景类型介绍2.场景设计3.场景执行场景类型介绍Control.原创 2020-08-17 11:19:19 · 542 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Vuser发生器(下)
Run-TimeSettings设置Run-TimeSettings设置主要是用于设置在脚本运行过程中脚本运行的策略。在菜单Vuser中选择Run-TimeSettings或按快捷键F4,如图所示。需要注意的设置项有:RunLogic选项卡、Pacing选项卡、ThinkTime选项卡和Miscellaneous选项卡。Run Logic选项卡RunLogic选项卡主要是用来设置运行时脚本迭代的次数,可以通过更改Numberofiterations的值来设置迭代的次数,如图所示修改Numberof原创 2020-08-14 11:28:21 · 365 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:Vuser发生器(上)
引言Vuser发生器(VisualUserGenerator,简称为VuGen)主要通过捕获客户端向服务器发送的HTTP请求,将这些请求录制成脚本,在回放时将捕获的HTTP请求再次发送,以达到模拟客户的行为的目的,所以Vuser主要是用来捕获最终用户业务流程和创建自动化测试脚本,即生成测试脚本。VuGen是录制测试脚本、编辑与完善测试脚本的一个平台,支持C语言语法。主要包括以下内容:脚本录制Recording Options设置Run-Time Settings设置脚本完善脚本录制启动Vis原创 2020-08-12 11:40:36 · 674 阅读 · 0 评论 -
LoadRunner性能测试系统学习教程:工具介绍(下)
LoadRunner内部结构LoadRunner主要通过控制内部程序的调度来控制整个性能测试过程,LoadRunner内部结构图如下图所示。该图详细地描述了LoadRunner执行过程中内部程序是如何调度的及内部各程序之间的关系。从LoadRunner内部结构的层次来分析LoadRunner性能测试的过程。1.首先准备好待测试的应用服务器和待测试的系统。2.LoadRunner中多线程驱动进程mdrv.exe和r3vuser.exe模拟产生压力,其中r3vuser.exe仿真应用程序的客户端,如I原创 2020-08-11 11:13:53 · 259 阅读 · 0 评论 -
性能测试划分之应用领域
性能测试划分有很多种,测试方法也有很多种,更确切的说是由于测试方法的不同决定了测试划分的情况,但在测试过程中性能测试的划分没有绝对的界限,常用的有压力测试、负载测试和并发用户测试等。性能测试的方法主要包括以下几种:1.负载测试(LoadTesting)2.压力测试(StressTesting)3.配置测试(ConfigurationTesting)4.并发测试(ConcurrencyTesting)5.可靠性测试(ReliabilityTesting)6.基准测试(BenchmarkTesti原创 2020-08-07 11:11:35 · 256 阅读 · 0 评论 -
Web自动化测试:加入log日志
日志是一个成熟的系统里不可或缺的一部分,对于自动化测试框架来说,最大的作用大概在于可以取代print()方法,并且可以在日志文件中回溯。这里我们引入log日志类,来代替print()记录输出测试过程中的关键信息。一、日志等级在日志中有五个等级debug、info、warning、error、critical这里要注意的是:如果设置日志等级后,只有大于这个等级的信息才会显示,比如你设置输出记录信息的等级为:error,那么程序里所写的命令中,只有大于等于error的:error、critical输出命原创 2020-08-03 11:28:48 · 726 阅读 · 0 评论 -
Web自动化测试:数据分离(类变量、yaml、excel)
在ui自动化中,经常会用到数据的存储和读取,这里主要介绍一下如何处理测试中经常用到的数据。一、类变量一般习惯把元素定位地址作为类变量存储,因为这样对于调试纠错比较方便,书写调用也较简单。1.1本类中调用类变量例如:Demo类中,在类下申请一个变量name,如果这个类中的方法要引用name,需要self.name这样的格式调用。demo_class.pyclass Demo():name = “川石学院”def print_name(self): print(self.name)1原创 2020-07-13 14:29:43 · 902 阅读 · 0 评论 -
Web自动化测试:POM设计模式的实现
关于pom设计模式(project Object model/PageObject),一种底层、逻辑、用例的分层,在项目还没有开发出来时,就可以开始写UI自动化脚本了,在开发完成后,再进行元素定位的适配以及调试;而且也可以多人共同维护开发脚本,更方便大家合作。这一节主要来介绍一下如何从零开始搭建这几个层级。一、driver层的封装这一层主要是对于webdriver方法的封装,这里来举一个栗子,最常用的定位方法,之前讲过统一定位方法的三种传参格式:webdriver的所有定位方法,使用find_elem原创 2020-07-10 11:11:48 · 631 阅读 · 0 评论 -
Web自动化测试:UI自动化框架结构以及思路
在学会使用unittest后,实际上UI自动化的基础骨架已经搭建起来了,剩下的就是利于这套框架,增添一些我们需要的功能,目前看来,我们已经可以使用此框架来批量运行用例,欠缺的是整体的思路以及一些其他功能细节,比如日志记录、封装webdriver、读取数据库等功能的实现。一、框架结构其中:common:一些基础的底层方法类,例如:测试报告类、数据配置读取类、日志类、封装webdriver类、数据库连接类、发送邮件类、公共方法类,只要是我们想要实现的一些功能,可以把基础方法的实现放在common文件夹原创 2020-07-09 11:12:34 · 676 阅读 · 0 评论 -
Web自动化测试:测试用例断言
运行测试用例时,需要判断用例是否执行成功,此时需要有一个我们期望的结果来进行验证。这里unittest中,如果一个case执行的过程中报错,或者我们判断结果不符合期望,就会判定此条用例执行失败,判断的条件主要是根据断言来实现,这节主要学习下断言的使用。一、断言的方法1.1 TestCase类中的部分断言方法判断条件是否成立assert_(expr,msg)expr:判断条件,返回Boolean值msg:判断失败后显示的信息判断两个数据的值是否相同assertEqual(first,secon原创 2020-07-08 11:15:07 · 1638 阅读 · 0 评论 -
Web自动化测试:Unittest单元测试框架
一、unitest基础写法格式 1.1引用导入import unittest并且需要新建一个类,继承unittestclass Demo(unittest.TestCase):1.2格式代码示例备注:1.用例的方法名中,要以test开头才能被读取出来2.用例的读取顺序按照方法名的ASCII码顺序运行,顺序:0-9,A-Z,a-z# -- coding:utf-8 --import unittestclass Demo(unittest.TestCase):def setUp(self原创 2020-07-07 10:52:06 · 717 阅读 · 0 评论 -
Web自动化测试:xpath元素定位深入讲解
一、Xpath高级用法基础格式格式/轴方法::标签名[标签属性]实例//div/parent::span[@name=‘interName’]实例解释:定位span标签,span标签是div标签的父级,且span标签的name属性值为:interlNmae二、基础格式详解2.1层级路径格式讲解实例2.2标签位置以及标签属性讲解实例2.3 xpath轴方法讲解实例2.4常用运算符三、实例演示常见场景:输入框定位有时候经常遇到输入框表单很多,也没有唯一标识id等原创 2020-07-06 10:43:00 · 259 阅读 · 0 评论 -
Web自动化测试:WebDriverWait元素等待和全局设置
由于现在部分web应用加载方式的选择,页面会需要一定时间逐渐加载完毕,也就是说有的页面元素先加载出来,有的元素后加载出来。如果直接定位所查找的元素的话,可能会由于此元素尚未加载完毕找不到元素从而报错,由于网络不稳定这种情况出现的几率会大很多,一般解决方法的话,time.sleep()函数可以避免一些这种状况,但是缺少了灵活性。在selenium中有关于等待的方法可以比较灵活的解决这个问题,这次主要讲解selenium中元素等待WebDriverWait的使用,以及全局的设置。1)关于全局设置超时时间三个原创 2020-07-03 11:18:33 · 5233 阅读 · 0 评论 -
Web自动化测试:使用js语句
在selenium中,有方法可以运行js语句,这样的话对于一些selenium中没有的操作,或者实际编写UI自动化中遇到的疑难杂症,多了另外一个解决思路!简直像是打开了新世界的大门一样。js本身是很强大的,也就是说我们在使用selenium库中的操作以及方法之外,还可以用另一门专门针对前段的编程语言来辅助我们完成UI自动化脚本,对于脚本编写应该具有很大帮助。调用运行js语句的方法同步请求运行jsdriver.execute_script(script, *args)script:要运行的js语句*原创 2020-07-02 11:11:02 · 386 阅读 · 0 评论 -
Web自动化测试:webdriver所有定位方式详解
在之前章节,我们已接触了webdriver中的8种基础定位方法,但是当我们在pycharm中打出:driver.find时,代码提示中其实是有18个被选项的,这里我们来讲讲剩余这10种定位方法都是什么,以及它们之间存在的关系。首先有两个万能定位方法:find_element()寻找符合条件的第一个元素find_elements()寻找所有符合条件的元素剩余八种,其实和之前介绍的是一样的,只不过element变为了:elements,意思是查找所有符合条件的元素find_elements_by_id原创 2020-07-01 11:38:42 · 441 阅读 · 0 评论 -
Web自动化测试:对cookie的操作
Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。在自动化测试过程中,我们如果想要进行免登陆操作的话,可以通过写入cookie的方式来实现,需要注意的是,网站cookie有时效性,对于关闭浏览器后失效的临时cookie网站来说,无法使用cookie来实现免登陆。接下来具体看一看UI自动化中如何对网站cookie进行操作。关于cookie的方法和使用如图所示,通过F12查看浏览器所存储的cookie,一个网原创 2020-06-30 11:38:07 · 1006 阅读 · 0 评论 -
Web自动化测试:switch_to包详解:切换handle、frame、alert
之前章节,分别对窗口切换(handle)、frame切换、弹窗(alert)切换做了详细的解释,但是我们在写代码的时候发现,这些方法都被编辑器划伤了一条横线,但是方法还是可以正常使用,只是目前的pycharm不推荐你继续这样使用了(有新的方法可以替代它),那如果我们不使用这些方法的话,我们该怎么去完成切换窗口、frame这些操作呢?所以我们来学习一下替代这几个方法的switch_to包。一、switch_to包的方法详解在switch_to的基础上,有这么几个方法,鉴于基本上都是之前曾经讲过的,这次把等原创 2020-06-29 17:30:21 · 898 阅读 · 0 评论 -
Web自动化测试:获取浏览器弹窗alert、自定义弹窗以及其操作
在测试中,有时候会遇到弹窗的问题,有的是浏览器弹窗(alert)、有的是自定义弹窗;这节我们主要来讨论一下关于浏览器弹窗和简单的自定义弹窗。一、关于alert弹窗的方法switch_to_alert(): 定位到alert弹窗,返回一个弹窗的对象dismiss(): 对弹窗对象的取消操作(相当于点击弹窗上的取消按钮)accept():对弹窗对象的确定操作(相当于点击弹窗上的确定按钮)text:对弹窗对象,获取弹窗内的文本send_keys(key):对弹窗对象内的输入框输入数据(如果弹窗的格式有原创 2020-06-24 17:23:23 · 3605 阅读 · 2 评论 -
Web自动化测试:浏览器不同页签之间的切换(handle)
一、切换页签(句柄handle)的基础用法:备注:部分方法为老写法,官方已经不推荐使用;点击这篇文章查看切换handle新写法。1.获取浏览器当前所在页签的句柄:current_window_handle()2.获取所有页面窗口的句柄window_handles()3.将定位的页面转到指定的window_name页面switch_to_window(window_name):window_name:指定页面窗口的handle二、关于webdriver源码展示 @propertydef原创 2020-06-23 13:47:37 · 1489 阅读 · 0 评论 -
Web自动化测试:模拟键盘事件(Keys)
如何使用引入的common.keys库来模拟键盘来操控浏览器一、基础写法具体用法其实和我们之前对浏览器输入框所用的方法:send_keys()是一样的,只不过我们通过keys类,可以输入webdriver包中对应的键盘操作。首先导入keys库from selenium.webdriver.common.keys import Keys输入单个键盘按键:小键盘按键3:send_keys(Keys.NUMPAD3)输入多次的同一个按键按10次小键盘按键3:send_keys(Keys.NUMPA原创 2020-06-22 13:51:06 · 1015 阅读 · 0 评论 -
Web自动化测试:切换页面Frame
在实际的测试中,有时候我们会经常遇到找不到元素的问题,这也是自动化测试中经常会遇到的情况,我一般首先考虑的就是是否由于页面中嵌套了frame,从而导致定位不到元素,如果页面代码中没有iframe层,再根据报错信息来考虑原因是否是:元素被隐藏,定位路径不正确等情况。一般下列情况中页面可能包含frame嵌套:后台管理系统中,页面中有一些独立的功能模块,特征是页面显示切换了模块,但是地址栏的URL并没有变化。或者是一些对接其他系统功能的模块,很可能会包含嵌套。下面我们来学习一下,如何通过切换frame来成功定位原创 2020-06-19 17:36:21 · 1552 阅读 · 2 评论 -
Web自动化测试:模拟鼠标操作(ActionChains)
在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单、拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作首页模拟鼠标的操作要首先引入ActionChains的包from selenium.webdriver.common.action_chains import ActionChains而对于ActionChains包,一般的写法是:这是这个方法一般的书写格式,下面我们来看一如何使用模拟鼠标操作的具体案例1)、鼠标拖动操作(滑动验证码问题)方法:drag_a原创 2020-06-18 13:49:24 · 1128 阅读 · 0 评论 -
Web自动化测试:浏览器/页面信息的获取
上一节讲到了如何利用获得的元素来获取元素的信息,这次来说一下如何获取浏览器相关的信息,主要是页面的路径:URL和页面的标题一、获取页面相关信息的方法current_url :当前页面的URL路径title:当前页面的title名称name:当前浏览器名称page_source:当前html页面源码前两个比较常用,可能会用到,比如说页面跳转后利用url来判断;页面的title也是一个检测的测试点。接下来以百度贴吧页面来演示这几个常用方法二、演示实例from selenium import w原创 2020-06-17 13:55:11 · 752 阅读 · 0 评论 -
Web自动化测试:页面元素信息(属性)的获取
上一节讲到对于元素的操作和浏览器的常用操作如何通过代码实现,这次来学习如何通过定位元素,来获取元素的信息(元素属性、信息等)获取元素相关的信息size:元素的大小text:元素内文本is_displayed( ) :元素是否可见is_enabled(): 元素是否可用(一般用于判断按钮是否置灰)is_selected( ) : 元素是否被选中(一般用于表单中的单选框和复选框)get_attribute ( ) : 元素的属性(可以获取到所选标签内的属性信息)通过如图所示选中的元素来演示如何获原创 2020-06-16 14:03:38 · 936 阅读 · 0 评论 -
Web自动化测试:元素的基础操作和浏览器基础操作
上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作一.对于元素的基础操作:clear():清除输入框内的文本send_keys():输入特定的字符 (需要传参)click():点击元素submit():提交表单(一般这个方法可以替代click)from selenium import webdriverdriver = webdriver.Chrome()driver.get(“https://tieba.baidu.c原创 2020-06-15 14:44:45 · 224 阅读 · 0 评论 -
Web自动化测试:页面元素的定位方法
这一节,我们介绍一下页面元素定位的八种方式和如何通过火狐和谷歌浏览器获取元素定位信息.页面元素的定位方法html页面是有一个个的标签组成的,我们定位元素其实就是定位这些标签。首先来看一下有哪儿几种定位方式:idnameclass nametag namelink textpartial link textxpathcss selector一共八种定位方式,其实常用的定位方式也有:xpath、css selector,至少要熟练掌握一种…第1种-ID定位from selenium原创 2020-06-12 14:36:42 · 1281 阅读 · 0 评论 -
自动化测试与手工测试优、劣势(面试经常问)
既然现在有了自动化测试,甚至现在许多团队在使用人工智能的方法,逐渐让机器来取代人的测试。那么作为测试工程师的人未来会不会消失?回答这个问题前,先来看一下自动化测试优势和劣势。一、自动化测试的优势1.1 自动化测试可以执行手工测试相当困难或根本做不到的测试对于软件性能测试中的并发测试、疲劳性测试和强度测试,如果单纯使用人工测试是不可能完成的。1.2 自动化测试具有一致性和可重复性在手工测试的时候,往往会出现测试人员在测试时候发现了缺陷,可是由于时间过得太长,或者缺陷报告中操作步骤描述不清楚,或者其他原创 2020-06-11 14:35:38 · 3727 阅读 · 0 评论