ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

浅谈自动化测试1——selenium库概念篇

浅谈自动化测试1——selenium库概念篇 文章目录1、自动化分类2、自动化测试的主要目的是用来做回归测试3、什么时候去设计自动化测试3.1 自动化测试脚本出现报错的情况3.2 面试题4、Web自动化测试主要学习4.1 手工测试和自动化测试的区别。4.2 简单的自动化测试例子5、手工测试和自动化测试测试时的区别6、什么是驱动程序6.1、web驱动程序的安装方法7、简单的自动化测试例子完整版代码1、自动化分类自动化测试只是一个统称它可以分为以下2大类3小类2、自动化测试的主要目的是用来做回归测试因为系统通常会为了更新1、新增功能模块。2、优化历史功能。3、修复BUG在使用手工测试来确保新功能没问题之后就需要通过自动化测试来确保历史功能没问题因为增加的功能不能影响到历史功能如上图示100版本中有功能1~功能50该版本的功能经过测试无误后已上线下个月101版本中在100版本的基础上新增新功能51、功能52此时测试功能51、功能52无误后101版本还无法上线还需要测试历史功能1到历史功能50是否被新功能影响是否能够正常使用但是功能1到功能50我们在版本100中已经测试过了此时在101版本中再对功能1到功能50逐一进行测试会消耗大量时间成本人员成本因此这类大量的重复的动作就可以借助自动化测试完成来保证新增的功能没有问题也保证历史功能不受影响回归测试。3、什么时候去设计自动化测试自动化测试一定是在手工测试之后。手工测试之后测试人员编写自动化测试脚本。1、新增功能2、历史功能优化如上图示版本2图中功能2这个历史功能进行了优化新增加了多个字段或者返回字段由单个变成了多个那么此时我们编写的自动化测试脚本可能出现报错自动化脚本出现报错不一定是测试人员编写的问题可能有其他情况。3.1 自动化测试脚本出现报错的情况1、测试人员编写的自动化测试脚本有误2、本次更新了历史功能优导致历史自动化测试脚本无法测试最新功能自动化测试脚本需要同步更新3、开发人员编写的代码影响了历史功能导致自动化测试脚本发现了bug因此编写的自动化测试脚本需要测试人员经常进行更新和维护自动化脚本不存在编写完以后就一劳永逸的情况。同一个测试场景不同的测试人员其设计出来的测试用例完全是不一样的因此测试考察的是测试人员的专业能力。人工测试是不可控的而程序测试自动化测试是可控的但是程序测试只会按照写好的测试用例去测试覆盖面没有人工测试广测试覆盖面取决于测试人员在编写测试用例时考虑的是否全面。3.2 面试题1、自动化测试能够取代人工测试吗不能。因为:1、自动化测试不一定比人工测试更能保障系统的可靠性它具有一定的局限性。2、自动化测试脚本是由测试人员手工编写的当系统功能出现更新、优化、bug的时候需要测试人员手工的进行自动化脚本的更新和维护。2、自动化测试可以大幅度降低工作量吗不能。这是错误的。因为自动化测试是通过程序执行来进行测试的一秒钟可以执行成百上千个测试用例可以一定程度上提高测试的效率但是对于测试人员来说测试人员的工作量不仅仅是进行测试是贯穿了整个软件测试的生命周期而自动化测试在软件测试的生命周期中仅仅占比一小部分。4、Web自动化测试主要学习自动化测试程序模拟人的操作来执行测试。4.1 手工测试和自动化测试的区别。需求场景百度搜索“迪丽热巴”并展示相关词条。4.2 简单的自动化测试例子执行自动化测试的时候需要将手工测试时书写的测试用例通过代码书写出来。代码书写出来后可以显而易见看到含有多处报错那是因为我们没有安装 selenium 库以及驱动管理。1、安装selenium库依赖添加依赖到pom.xml文件中2、安装驱动管理程序自动化依赖简单的自动化测试例子5、手工测试和自动化测试测试时的区别6、什么是驱动程序驱动程序是帮助测试人员进行自动化测试时打开浏览器的驱动6.1、web驱动程序的安装方法主要有两种。1、手动下载驱动到驱动程序官网下载与浏览器匹配的驱动2、由驱动管理程序WebDriverManager自动下载与浏览器版本匹配的驱动推荐使用在pom.xml文件中引入web驱动程序管理的依赖系统即可自动下载对应浏览器版本的驱动。电脑本地查看驱动程序的路径浏览器有不同的版本因此不同版本的浏览器对应不同版本的驱动程序。7、简单的自动化测试例子完整版代码谷歌浏览器自动化脚本importio.github.bonigarcia.wdm.WebDriverManager;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;importorg.openqa.selenium.edge.EdgeDriver;importorg.openqa.selenium.edge.EdgeOptions;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.openqa.selenium.firefox.FirefoxOptions;publicclassfirstTest26072601{publicvoidtestAutoExample()throwsInterruptedException{//驱动程序管理的自动化// 驱动管理WebDriverManager.chromedriver().setup();//浏览器配置ChromeOptionsoptionsnewChromeOptions();//允许访问所有链接options.addArguments(--remote-allow-origins*);//测试用例//1、打开浏览器//驱动WebDriverdrivernewChromeDriver(options);Thread.sleep(3000);//2、输入百度网址https://www.baidu.com,请求网址driver.get(https://www.baidu.com);Thread.sleep(3000);//3、找到输入框并输入关键字“迪丽热巴”driver.findElement(By.xpath(//*[id\kw\])).sendKeys(迪丽热巴);Thread.sleep(3000);//4、找到“百度一下”按钮并点击driver.findElement(By.xpath(//*[id\su\])).click();Thread.sleep(22000);//5、关闭浏览器driver.quit();Thread.sleep(3000);}}firefox浏览器自动化测试脚本importio.github.bonigarcia.wdm.WebDriverManager;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.openqa.selenium.firefox.FirefoxOptions;publicclassfirefoxDriverAutoTest{publicvoidtestauto()throwsInterruptedException{//驱动程序管理的自动化// 驱动管理WebDriverManager.firefoxdriver().setup();//浏览器配置FirefoxOptionsoptionsnewFirefoxOptions();options.setBinary(D:\\allMyTools\\firefox\\firefox.exe);//允许访问所有链接//options.addArguments(--remote-allow-origins*);//测试用例//1、打开浏览器//驱动WebDriverdrivernewFirefoxDriver(options);Thread.sleep(3000);//2、输入百度网址https://www.baidu.com,请求网址driver.get(https://www.baidu.com);Thread.sleep(3000);//3、找到输入框并输入关键字“迪丽热巴”driver.findElement(By.xpath(//*[id\kw\])).sendKeys(迪丽热巴);Thread.sleep(3000);//4、找到“百度一下”按钮并点击driver.findElement(By.xpath(//*[id\su\])).click();Thread.sleep(22000);//5、关闭浏览器driver.quit();Thread.sleep(3000);}}edge浏览器自动化脚本importio.github.bonigarcia.wdm.WebDriverManager;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;importorg.openqa.selenium.edge.EdgeDriver;importorg.openqa.selenium.edge.EdgeOptions;publicclassedgedriverAutoTest{publicvoidtestz1()throwsInterruptedException{//驱动程序管理的自动化// 驱动管理//WebDriverManager.edgedriver().setup();System.setProperty(webdriver.edge.driver,C:\\Users\\hzzco\\.cache\\selenium\\msedgedriver\\msedgedriver.exe);//浏览器配置EdgeOptionsoptionsnewEdgeOptions();//允许访问所有链接options.addArguments(--remote-allow-origins*);//测试用例//1、打开浏览器//驱动WebDriverdrivernewEdgeDriver(options);Thread.sleep(3000);//2、输入百度网址https://www.baidu.com,请求网址driver.get(https://www.baidu.com);Thread.sleep(3000);//3、找到输入框并输入关键字“迪丽热巴”driver.findElement(By.xpath(//*[id\kw\])).sendKeys(迪丽热巴);//driver.findElement(By.xpath(//*[id\chat-input-main\]/div[4])).sendKeys(迪丽热巴);Thread.sleep(3000);//4、找到“百度一下”按钮并点击driver.findElement(By.xpath(//*[id\su\])).click();Thread.sleep(22000);//5、关闭浏览器driver.quit();Thread.sleep(3000);}}启动类publicclassrunAutoTest{publicstaticvoidmain(String[]args)throwsInterruptedException{firstTest26072601 testnewfirstTest26072601();firefoxDriverAutoTest firefoxDriverAutoTestnewfirefoxDriverAutoTest();edgedriverAutoTest edgedriverAutoTestnewedgedriverAutoTest();try{System.out.println(firefox自动化测试开始);firefoxDriverAutoTest.testauto();System.out.println(执行成功测试完毕);}catch(Exceptione){System.out.println(firefox自动化测试失败跳过e.getMessage());}try{System.out.println(chrome自动化测试开始);test.testAutoExample();System.out.println(执行成功测试完毕);}catch(Exceptione){System.out.println(chrome自动化测试失败跳过e.getMessage());}try{System.out.println(edge自动化测试开始);edgedriverAutoTest.testz1();System.out.println(执行成功测试完毕);}catch(Exceptione){System.out.println(edge自动化测试失败跳过e.getMessage());}}}
返回列表