提高接口自动化测试效率(如何实现接口自动化测试)

网友投稿 278 2023-01-24


本篇文章给大家谈谈提高接口自动化测试效率,以及如何实现接口自动化测试对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享提高接口自动化测试效率的知识,其中也会对如何实现接口自动化测试进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

自动化测试可以提高测试效率,却无法保证测试的有效性

正确。

自动化测试提高接口自动化测试效率的优点

(1)对程序提高接口自动化测试效率的回归测试更方便。

由于回归测试提高接口自动化测试效率的动作和用例是完全设计好的提高接口自动化测试效率,测试期望的结果也是完全可以预料的提高接口自动化测试效率,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。

(2)可以运行更加繁琐的测试

自动化测试的一个明显好处就是可以在很短的时间内运行更多的测试。

(3)可以执行一些手工测试困难或者不可执行的测试,例如模拟大量用户场景的压力测试

(4)更好的利用资源

将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。

(5)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。

(6)测试的复用性。

由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。

(7)增加软件的信任度

由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量,一旦软件测试通过强有力的自动测试后,软件的信任度自然增加。

如何提高自动化测试的执行效率 selenium java

1. 环境准备
1.1 Java环境
安装, 配置jdk
1.2 Java IDE
因为Selenium支持Java/C#/Ruby/Python/Perl等,这里选择用Java。到Eclipse官方网站下载Eclipse, 解压
1.3 Selenium
到Selenium官方网站http://seleniumhq.org/download/下载Selenium IDE,Selenium Server, Selenium Client Driver
以上三者之间的关系是:
Selenium IDE可以录制脚本,执行脚本,修改脚本,将录制的脚本导出成其他语言(比如Java)---本篇不讨论
Selenium Server是和Selenium Client结合使用的,Server用来启动浏览器,接受Client端的请求,执行test;
Client端则是向Server端发送请求。
2. 在Eclipse中编辑并运行test
2.1 新建一个Java project: File-New-Java Project
2.2 在上一步建好的项目名称上点鼠标右键, 点击Build Path-Add External Archives...,将下载的selenium-java-2.21.0.jar(client)和selenium-server-standalone- 2.21.0.jar(server)加进来
2.3 启动selenium server.进入cmd,运行 "java -jar selenium-server-standalone-2.21.0.jar" --保证能找到改jar包。信息如下:
[java] view plaincopy
信息: Launching a standalone server
22:16:21.484 INFO - Java: Sun Microsystems Inc. 17.1-b03
22:16:21.500 INFO - OS: Windows XP 5.1 x86
22:16:21.515 INFO - v2.21.0, with Core v2.21.0. Built from revision 16552
22:16:21.859 INFO - RemoteWebDriver instances should connect to: .
1:4444/wd/hub
22:16:21.875 INFO - Version Jetty/5.1.x
22:16:21.875 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
22:16:21.875 INFO - Started HttpContext[/selenium-server,/selenium-server]
22:16:21.875 INFO - Started HttpContext[/,/]
22:16:22.062 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5d173
22:16:22.062 INFO - Started HttpContext[/wd,/wd]
22:16:22.093 INFO - Started SocketListener on 0.0.0.0:4444
22:16:22.093 INFO - Started org.openqa.jetty.jetty.Server@32fb4f
[java] view plain copy
信息: Launching a standalone server
22:16:21.484 INFO - Java: Sun Microsystems Inc. 17.1-b03
22:16:21.500 INFO - OS: Windows XP 5.1 x86
22:16:21.515 INFO - v2.21.0, with Core v2.21.0. Built from revision 16552
22:16:21.859 INFO - RemoteWebDriver instances should connect to: .
1:4444/wd/hub
22:16:21.875 INFO - Version Jetty/5.1.x
22:16:21.875 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
22:16:21.875 INFO - Started HttpContext[/selenium-server,/selenium-server]
22:16:21.875 INFO - Started HttpContext[/,/]
22:16:22.062 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5d173
22:16:22.062 INFO - Started HttpContext[/wd,/wd]
22:16:22.093 INFO - Started SocketListener on 0.0.0.0:4444
22:16:22.093 INFO - Started org.openqa.jetty.jetty.Server@32fb4f
2.4 代码测试
[java] view plaincopyprint?
import com.thoughtworks.selenium.DefaultSelenium;
public class SeleniumDemo01
{
public static void main(String[] args)
{
String host = "localhost";
int port = 4444;
String url = "http://www.baidu.com/";
String browserType = "*firefox";
String keyWordsLocator = "document.getElementById('kw')";
String search = "document.getElementById('su')";
DefaultSelenium selenium = new DefaultSelenium(host,port,browserType,url);
selenium.start();
selenium.open(url);
selenium.type(keyWordsLocator,"java selenium");
selenium.click(search);
selenium.waitForPageToLoad("50000");
selenium.stop();
}
}
运行结果:
1.firefox浏览器期待
2.打开百度主页
3.在搜索框中键入了"java selenium"
4.点击"百度一下"按钮
5.等等页面加载50s
6.关闭浏览器

YApi结合xxl-job自动化测试

YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,包括提供了一系列可视化接口管理,还有自动化测试

传统的接口自动化测试成本高,大量的项目没有使用自动化测试保证接口的质量,仅仅依靠手动测试,是非常不可靠和容易出错的。

YApi 为了解决这个问题,开发了可视化接口自动化测试功能,只需要配置每个接口的入参和对 RESPONSE 断言,即可实现对接口的自动化测试。而且大部分接口支持Swagger导入或者从Idea配置直接导入。大大提升了接口测试的效率。

使用 YApi 自动化测试,第一步需要做得是创建测试集合和导入接口,点击添加集合创建,创建完成后导入接口(同一个接口可以多次导入)。

编写测试用例主要涉及两个方面,一个是请求参数,另外一个是断言脚本。

请求参数可以填写期望的字符串,YApi 还提供了 Mock 参数和 变量参数。Mock参数用来生成随机字符串,变量参数是为了解决请求参数依赖其他接口的返回数据或参数。

Mock 参数每次请求都会生成随机字符串

YApi 提供了强大的变量参数功能,你可以在测试的时候使用前面接口的 参数 或 返回值 作为 后面接口的参数 ,即使接口之间存在依赖,也可以轻松 一键测试~

格式: $.{key}.{params|body}.{path}

例如:现有两个接口,分别是“导航标题”和“文章列表”

文章列表接口需要传参数: 当前标题(id) ,而这个 id 需要通过 导航标题 的返回值获取,这时应在 文章列表 的参数输入框中根据前者的 key 找到对应 id。 导航标题 的参数和返回值有如下结构:

则 文章列表 的参数可以如下配置:

其中 .269. params** 即表示 key 值为 269 用例的请求参数,$.269. body 即表示 key 值为 269 用例的返回值。

如果 requestBody 是 json 格式也可以在 json 中写变量参数,如下图:

目前 yapi 中的 query , body , header 和 pathParam 的输入参数已经支持点击选择功能。无需自己填写表达式,只需在弹窗中选择需要展示的表达式即可。 输入选项包括 常量 , mock数据 ,在测试集合中也支持 变量 选择。具体用法:单击编辑按钮打开表达式生成器,点击需要的数据创建表达式,这里也可以实时查看表达式结果。

编写完请求参数,可通过 js 脚本写断言,实现精准测试,在接口用例页面点击 Test 编辑。

在测试列表可以看到每个测试用例的 key,还有 开始测试、报告等功能

点击开始测试会按照 case 定义的参数从上往下一个一个进行测试,如果顺序有问题,可以拖动调整

测试完成之后,点击报告查看该次请求的结果

参考: https://nodejs.org/dist/latest-v8.x/docs/api/assert.html

开始测试功能是在浏览器跑自动化测试,他依赖于浏览器的使用环境。服务端自动化测试功能是在YApi服务端跑自动化测试,不需要依赖浏览器环境,只需要访问 YApi 提供的 url 链接就能跑自动化测试,非常的简单易用,而且可以集成到 jenkins。

点击服务端测试,出现如下弹窗,用户访问该 url 就可以获取当前测试用例的所有测试结果。

然后可以在xxl-job添加这个脚本的地址,可以选择邮件通知,来进行定时的自动化测试

然后就能看到邮件了~

https://zhuanlan.zhihu.com/p/32202008

https://hellosean1025.github.io/yapi/

https://testerhome.com/topics/20437

关于提高接口自动化测试效率和如何实现接口自动化测试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 提高接口自动化测试效率的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何实现接口自动化测试、提高接口自动化测试效率的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java8中Optional的一些常见错误用法总结
下一篇:java agent 使用及实现代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~