织梦网站管理安装,免费的手机网站模板,wordpress windows部署,珠海营销型网站一、自动化的概念 ⾃动洒⽔机#xff0c;主要通上⽔就可以⾃动化洒⽔并且可以⾃动的旋转。 ⾃动洗⼿液#xff0c;免去了⼿动挤压可以⾃动感应出洗⼿液 超市⾃动闸⻔#xff0c;不需要⼿动的开⻔关⻔ ⽣活中的⾃动化案例有效的减少了⼈⼒的消耗#xff0c;同时也提⾼了⽣…一、自动化的概念 ⾃动洒⽔机主要通上⽔就可以⾃动化洒⽔并且可以⾃动的旋转。 ⾃动洗⼿液免去了⼿动挤压可以⾃动感应出洗⼿液 超市⾃动闸⻔不需要⼿动的开⻔关⻔ ⽣活中的⾃动化案例有效的减少了⼈⼒的消耗同时也提⾼了⽣活的质量。 软件中的⾃动化测试也是如此通过⾃动化测试有效减少⼈⼒的消耗的同时也提⾼了测试的质量和效率。 自动化测试需要测试人员编写自动化测试脚本。新增加功能也需要测试人员同步增加相应的自动化脚本。自动化测试报错也需要维护并解决自动化脚本问题。 *为什么还说自动化减少⼈⼒的消耗 * 总的来说利大于弊。大量重复性的测试内容如果仅仅人力来测试会很耗时利用自动化测试就会省事省力许多自动化测试脚本并在未来也能反复使用。而且计算机的处理速度是很快的相对人工测试可以提高效率。可以说是“一次付出终身回报”。 ⾃动化的主要⽬的就是⽤来进⾏回归测试。 1.1回归测试 1软件有多个版本需要进⾏功能的整体回归。 2为了避免新增功能影响到历史的功能需要进⾏功能的回归。 常⻅⾯试题 1.⾃动化测试能够取代⼈⼯测试吗 ⾃动化测试 不⼀定⽐⼈⼯测试更能保障系统的可靠性⾃动化测试是测试⼈员⼿⼯编写后续如果有 功能的变更⾃动化也需要进⾏不定期的维护和更新。 自动化测试脚本依靠测试人员编写而自动化测试脚本同时也能帮助测试人员测试。 手动测试还是占主导地位 。 2.⾃动化测试可以⼤幅度降低⼯作量 错误 坑“⼀定程度上”和“⼤幅度”的表达⽅式也需要注意 自动化测试只是测试工作的一小部分测试行为测试是为了保障产品质量自动化测试可以 一定程度上降低工作量 二、 ⾃动化分类
2.1 接⼝⾃动化
2.2 UI⾃动化 UI测试也称为界⾯测试常⻅的UI⾃动化测试包含web⾃动化测试、移动端⾃动化测试等等。 • 客户端测试 - pc端电脑的软件 • 移动端测试 - 手机的软件 • web测试 - 浏览器页面 2.3 自动化测试金字塔 1理想中的自动化测试 理想的⾃动化测试⾦字塔表达了⾃动化测试的理想情况利⽤较少的时间和精⼒在单元测试上就能够 发现更多有效的问题。 理想中单元测试应该占主导地位。 2实际上公司常用的金字塔 三、WEB自动化测试
3.1 驱动 上⾯给⼤家已经介绍过web系统的测试前提是需要打开浏览器通过访问web服务器来对服务器界 ⾯进⾏⼀系列的操作。对于⼿⼯测试来说这⼀系列的操作都需要测试⼈员⼿动的⼀步⼀步的来执 ⾏测试。 那么对于⾃动化程序来说程序如何才能打开浏览器并执⾏我们预期的操作流程呢 驱动⼀词应⽤⼴泛同学们都不会陌⽣。 ⻋有了驱动才能够让⻋跑起来. 计算机有了驱动程序就可以与设备⽿机摄像头⻨克⻛键盘显⽰器等等设备进⾏通信。 程序想要打开web浏览器就需要安装web驱动即WebDriver)WebDriver 以本地化⽅式驱动浏览器。 不同的浏览器打开需要不同的驱动谷歌浏览器需要谷歌的驱动火狐浏览器需要火狐的驱动。。 不同的浏览器打开需要不同的驱动谷歌浏览器需要谷歌的驱动火狐浏览器需要火狐的驱动。。 同一个浏览器不同版本也需要不同的驱动 Unable to Locate Driver Error | Selenium 3.2 安装驱动管理 驱动管理 WebDriverManager是⼀个开源Java库以完全⾃动化的⽅式对 Selenium WebDriver 所需的驱动程序如chromedriver、geckodriver、msedgedriver等进⾏管理即下载、设置和维护⾃版本5起WebDriverManager还提供了其他相关功能如发现本地系统中安装的浏览器的能⼒构建 WebDriver对象如ChromeDriver、FirefoxDriver、EdgeDriver等 直接在maven项目下 pom.xml 安装依赖包就可以了 驱动管理程序 会自动下载正确的驱动 dependencygroupIdio.github.bonigarcia/groupIdartifactIdwebdrivermanager/artifactIdversion5.8.0/versionscopetest/scope
/dependency 创建一个maven空项目 3.3 selenium
3.3.1 安装 selenium 依赖包
dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion4.0.0/version
/dependency 3.3.2 使⽤selenium编写代码 3.3.3 编写自动化脚本 由于是自动化测试脚本所以在测试的文件夹test里编写 每个人遇到的情况不同我的谷歌版本不太稳定启动的时候总报错 后面用的微软自带的edge 另外首次启动会比较慢因为会自动下载驱动 import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;public class FirstTest {//测试百度搜索关键词迪丽热巴void test01() throws InterruptedException {//谷歌浏览器--不稳定//改用edge就可以了哈
// WebDriverManager.chromedriver().setup(); //打开浏览器驱动
// ChromeOptions options new ChromeOptions();
// WebDriver driver new ChromeDriver(options); //创建浏览器驱动对象,带上options//1.打开浏览器使用驱动打开//edge 浏览器WebDriverManager.edgedriver().setup();//增加浏览器配置创建驱动对象时指定允许访问所有链接。否则请求会被拒绝EdgeOptions options new EdgeOptions();options.addArguments(--remote-allow-origins*);WebDriver driver new EdgeDriver(options); //创建浏览器驱动对象,带上optionsThread.sleep(3000);//为了看到效果增加停留时间//2.输入完整的网址 https://www.baidu.comdriver.get(https://www.baidu.com);Thread.sleep(3000);//3.找到输入框并输入关键词迪丽热巴driver.findElement(By.cssSelector(#kw)).sendKeys(迪丽热巴);Thread.sleep(3000);//4.找到百度一下按钮并点击driver.findElement(By.cssSelector(#su)).click();Thread.sleep(3000);//5.关闭浏览器driver.quit();}
}public class RunCase {public static void main(String[] args) throws InterruptedException {FirstTest firstTest new FirstTest();firstTest.test01();}
}