高效自动化测试利器:JMeter与WebDriver无缝结合

        JMeter和WebDriver都是应用于软件测试领域的工具,可以用于自动化测试和性能测试。

        JMeter是一个开源的性能测试工具,它可以模拟多种负载类型、协议和服务器,并提供了图形化界面。JMeter通过使用多线程来模拟并发用户,然后对被测系统进行压力和性能测试,从而评估系统的性能指标。JMeter还支持一些插件,例如WebDriver Sampler插件,可以结合Selenium WebDriver(下文会介绍)来进行Web应用程序的性能测试。

        WebDriver是一个自动化测试工具,最初是由Selenium项目开发的,现在已经成为了W3C推荐的标准。WebDriver提供了一组API,允许开发人员使用多种编程语言(如Java、Python、Ruby等)来编写自动化测试脚本。WebDriver的主要功能是控制浏览器,使得测试人员可以模拟用户在浏览器上执行的各种操作,例如单击、输入、拖放、JavaScript执行等等。因此,WebDriver可以用于各种Web应用程序的自动测试。

        将JMeter和WebDriver结合使用可以实现Web应用程序的性能测试和自动化测试。开发人员可以使用Selenium WebDriver来模拟用户在Web应用程序上执行的操作,然后使用JMeter来模拟多个用户同时执行这些操作,从而对Web应用程序的性能进行评估。这种结合使用也有助于优化测试脚本和提高测试覆盖率。

        之前文章也有介绍Jmeter的使用方式,这次我们聊聊JMeter与WebDriver的结合。

打开Jmeter后需要安装WebDriver的插件,前提需要将WebDriver的包下载完成。

要在 JMeter 中安装 WebDriver Sampler 插件,可以按照以下步骤进行操作:

  1. 下载 WebDriver Sampler 插件的压缩包,可以从插件的官方网站(https://jmeter-plugins.org/wiki/WebDriverSampler/)下载到最新版本的插件包。

  2. 将下载的压缩包解压缩到 JMeter 的 lib/ext 目录下。如果你不知道 JMeter 的 lib/ext 目录在哪里,可以启动 JMeter 并打开“Options”菜单,选择“Plugins Manager”,在弹出的对话框中找到“Custom Plugin Path”一项,显示的路径即为 lib/ext 目录的路径。

  3. 启动或重启 JMeter,确保插件已经被正确加载。可以打开“Options”菜单下的“Plugins Manager”来检查是否成功安装了 WebDriver Sampler 插件。

  4. 如需在测试计划中使用 WebDriver Sampler 插件,在测试计划上右键选择“添加” -> “Sampler” -> “WebDriver Sampler”,就可以添加该插件到测试计划中了。

注意:安装和使用 WebDriver Sampler 插件需要满足一定的系统和软件要求,如 JDK 版本、浏览器驱动版本等。

随后打开jmeter就能在插件工具中找到啦~~

如果要将jmeter和webdriver结合还需要下载唤起浏览器的驱动程序。可在chromedriver下载路径:https://sites.google.com/a/chromium.org/chromedriver/downloads,下载电脑上对应的谷歌版本驱动,进行配置,我的浏览器是113版本,所以下载对应113版本的驱动

 

随后添加需要进行启动的程序

放置启动脚本及参数设置 

动态取值用户名和密码,进行登录操作,附代码【目前这段代码还不支持多用户同时唤起浏览器

var pkg = JavaImporter(org.openqa.selenium)
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var conditions = org.openqa.selenium.support.ui.ExpectedConditions

// 读取 CSV 文件
var file = new java.io.File("D:/apache-jmeter-5.1.1/bin/user.txt");
var reader = new java.io.FileReader(file);
var br = new java.io.BufferedReader(reader);
var line;
while ((line = br.readLine()) != null) {
    var fields = line.split(":");
    
    // 从 CSV 中读取用户名和密码
    var username = fields[0];
    var password = fields[1];
    
    WDS.sampleResult.sampleStart();

    // 打开登录页面并填写表单
    WDS.browser.get("http://XXXX/dap-client/#/Signin");
    var username_email = WDS.browser.findElement(pkg.By.cssSelector("input[placeholder='Email']"));
    username_email.sendKeys(username);
    var password_field = WDS.browser.findElement(pkg.By.cssSelector("input[placeholder='Password']"));
    password_field.sendKeys(password);
    var loginbtn = WDS.browser.findElement(pkg.By.className("el-button--large"));
    loginbtn.click();

    // 等待页面加载完成
//    new support_ui.WebDriverWait(WDS.browser, 5000).until(conditions.titleContains('your application title'));

    WDS.sampleResult.sampleEnd();
    // 关闭浏览器会话
//    WDS.browser.quit();
}

br.close();

脚本准备完成后,点击启动就会唤起浏览器进行登录操作【脚本中的地址,记得更换为各位想要的地址

        下次我将分享 JMeter 和 WebSocket 的相关内容。WebSocket 是一种 HTML5 新增的协议,用于实现浏览器与服务器之间的全双工通信,并具有较低的延迟和带宽占用。在使用 WebSocket 进行性能测试时,需要使用支持 WebSocket 的工具来模拟客户端请求并收集服务器响应,而 JMeter 就是其中一种常用工具。

        在分享中,我会介绍如何使用 JMeter 和 WebSocket Sampler 插件来进行 WebSocket 性能测试,包括安装配置 WebSocket Sampler 插件、创建测试计划、编写测试脚本、运行测试计划以及分析测试结果等方面的内容。同时,我也会分享一些注意事项和常见问题的解决方法,帮助大家更好地掌握 WebSocket 性能测试的技巧和方法。

敬请期待下一次的分享!

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值