首页 > 其他分享 >并发兼容性测试

并发兼容性测试

时间:2023-04-08 22:00:11浏览次数:36  
标签:兼容性 selenium driver testng 并发 测试 org import openqa

Web测试项目中经常进行浏览器兼容性相关的测试工作,因为兼容性测试的工作重复性相当高,所以导致手工测试效率低下测试人员积极性降低。TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现测试不同浏览器的兼容性测试。

  下面代码中分别使用Chrome、Firefox和IE浏览器,TestNG以并发方式去百度搜索“selenium”然后校验搜索结果。

  测试类中代码:

package com.selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.BeforeClass;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;

public class TestNGBingfa {  
    WebDriver driver;
    
    @Parameters("browser")
    @BeforeClass
    public void BeforeClass(String Browser){
        //判断Browser等于chrome。equalsIgnoreCase()方法比较两个字符串是否相等(不区分大小写)
        if(Browser.equalsIgnoreCase("chrome")){
            System.setProperty("webdriver.chrome.driver","E:\\chromedriver.exe");
            driver=new ChromeDriver();
        }
        else if(Browser.equalsIgnoreCase("firefox")){
            System.setProperty("webdriver.firefox.bin","D:\\Firefox\\firefox.exe");
            driver=new FirefoxDriver();
        }
        else{
            System.setProperty("webdriver.ie.driver", "E:\\IEDriverServer.exe");
            driver=new InternetExplorerDriver();
        }
    }
    
    @Test
    public void test() throws InterruptedException{
        driver.get("https://www.baidu.com");
        driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("selenium");
        driver.findElement(By.xpath("//*[@id='su']")).click();    
        //获取页面上的资源
        String sourcetext=driver.getPageSource();
        //校验搜索结果是否包含 selenium
        Assert.assertTrue(sourcetext.contains("selenium"));
    }
    
    @AfterClass
    public void Aftercalss(){
        driver.quit();
    }
}

 

testng.xml文件的配置内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="3">
  <!-- 谷歌浏览器 -->
  <test name="chrome">
    <parameter name="browser" value="chrome"></parameter>
    <classes>
      <class name="com.selenium.TestNGBingfa"/>
    </classes>
  </test>
   <!-- 火狐浏览器 -->
  <test name="firefox">
   <parameter name="browser" value="firefox"></parameter>
   <classes>
     <class name="com.selenium.TestNGBingfa"></class>
   </classes>
  </test>
  <!-- IE浏览器 -->
  <test name="ie">
   <parameter name="browser" value="ie"></parameter>
   <classes>
     <class name="com.selenium.TestNGBingfa"></class>
   </classes>
  </test>
</suite>

 

标签:兼容性,selenium,driver,testng,并发,测试,org,import,openqa
From: https://www.cnblogs.com/ixtao/p/17299347.html

相关文章

  • 2023.04.08 定时测试随笔
    T2[ZJOI2007]时态同步传送门:luoguP1131题目要求我们用最少的代价使根节点到每个叶子节点的距离相等那如何使代价最小呢,对于下面这种情况对于有同一个父亲节点的两个叶子节点,一个的代价为5,一个代价为3,他们都加了一个代价3,这样我们可以把3加到父亲节点到根节点的树枝上,这......
  • PentestLab-web安全LDAP测试-EXP2
    我们打开靶机选择“Example2”观察页面尝试匿名登陆报错我们分析靶机源码网上大神分析当然了,如果在不知道用户名为admin的情况下,可以使用上文所说的*来进行模糊匹配。比如a*)(%26))%00&password=xpayload为http://192.168.20.157/ldap/example2.php?name=admin)(%26))%00&password......
  • Vulnhub之BoredHackerBlog: Social Network_Medium Socnet详细测试过程(拿到root shell
    BoredHackerBlog:SocialNetwork作者:jasonhuawen靶机信息名称:BoredHackerBlog:SocialNetwork地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/识别目标主机IP地址Currentlyscanning:Finished!|ScreenView:UniqueHosts......
  • 千级边缘节点应用分钟级部署测试验证
    1.测试组网一台主节点master部署k8s,mef-center组件,cloudcore7台服务器模拟边缘节点部署docker,edgecore2.模拟边缘节点步骤2.1制作边缘容器镜像拉取官网ubuntu镜像,更新镜像源,安装docker.io,安装systemd所需要的Init重新提交docker镜像2.2执行特权容器dockerrun-......
  • windows 下使用CMake 配置 googletest测试库
    这个项目实际包含的知识细节,可以在微软的网站找到支持:1.安装googletest.下载,解压,googletest 进入开发者模式cmd界面: DeveloperCommandPromptforVS2022 编译,安装googletest#在解压后的目录下mkdirbuildcdbuild#准备安装在d:/googletestcmake-S..-B......
  • C++ 并发编程实战 第二章 线程管控
    第二章线程管控std::thread简介构造和析构函数///默认构造///创建一个线程,什么也不做thread()noexcept;///带参构造///创建一个线程,以A为参数执行F函数template<classFn,class...Args>explicitthread(Fn&&F,Args&&...A);///拷贝构造(不可用)thread......
  • Vulnhub之Medium Socnet详细测试过程
    MediumSocnet识别目标主机IP地址Currentlyscanning:Finished!|ScreenView:UniqueHosts......
  • 2023.04.08 定时测试随笔
    T1[NOIP2006提高组]作业调度方案(模拟)传送门:luoguP1131约束条件:对于同一个工件,第\(i\)道工序必须要在第\(i-1\)道工序结束之后才能开始一个机器每一刻只能加工一道工序必须要按照题目给的顺序安排下一个工序关于安排顺序:一个非常神器的东西考试的时候......
  • Jmeter压测生成多维度图形化HTML测试报告讲解
     Jmeter压测生成多维度图形化HTML测试报告讲解dashboard讲解TestandReportinformationsSourcefile:jtl文件名StartTime:压测开始时间EndTime:压测结束时间Filterfordisplay:过滤器Lable:sampler采样器名称APDEX(ApplicationperformanceIndex)apdex:应......
  • 【Java 并发】【九】【AQS】【八】ReentrantReadWriteLock之ReadLock读锁原理
    1 前言上节我们看了下ReentrantReadWriteLock读写锁的写锁的申请和释放过程,这节我们就来看下读锁的。2 线程读锁记录回顾一下之前的例子,在读写并发操作的时候,读取数据的时候加读锁:publicclassReentrantReadWriteLockTest{//声明一个读写锁privatestaticR......