当前位置: 首页 > article >正文

自动化01

测试用例的万能公式:功能测试+界面测试+性能测试+易用性测试+安全性测试+兼容性测试

自动化的主要目的就是用来进行回归测试

新产品--第一个版本 (具备丰富的功能),将产品的整体进行测试,人工创造一个自动化测试用例,在n个版本的时候,在进行测试的时候,只需要应用之前的测试化用例即可测出历史的功能是否达标,然后将原来的测试话用例和新的测试化用例相结合以此完成回归测试

手工测试仍然占主导地位

自动化测试只是测试工作中的一小部分测试行为

对于中大型企业来说自动化测试是必不可少的一部分!!

我们平时认为

自动化:模拟人的行为执行一系列的操作

手工测试:找到浏览器软件,鼠标点击启动手工驱动
自动化测试:驱动--打开浏览器

不同的浏览器需要不同的浏览器驱动,而不同版本的浏览器也需要不同版本的驱动~

在后端test中创建两个类,在pom文件中导入webdrivermanager,selenium,以此来进行操作,然后在代码中引入驱动,进行想要的搜索

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;

public class FristTest {
    //测试百度搜索关键词;迪丽热巴
    void test01() throws InterruptedException {
        //1. 打开浏览器 使用驱动来打开
        WebDriverManager.chromedriver().setup();
        //增加浏览器配置:创建驱动对象要强制指定允许访问所有的链接
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--remote-allow-origins=*");

        WebDriver driver = new ChromeDriver(options);
        Thread.sleep(3000);

        //2. 输入完整的网址:https://www.baidu.com
        driver.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();
    }
}

如何选中前端中cssSelector和xpath等元素

点击页面中的元素

右键点击选中的元素

复制selector即可

百度输入框id选择器:#kw    xpath: //*[@id="kw"]

获取HTML页面所有的节点
//*
获取HTML页面指定的节点

/ /[指定节点]

获取一个节点中的直接子节点

/

获取一个节点的父节点

..

实现节点属性的匹配

[@...]

 看报错的时候要看

 登陆状态下和非登陆状态下自动化打开的页面不一定相同,因为在做自动化测试一定要注意页面状态的一致性

findElement(By)在页面查找元素,返回值 WebElement
findElements (By)在页面查找元素,返回值为List<WebElement>

点击/提交对象

click()

除了按钮之外,页面的绝大多数元素都可以点击页面隐藏的标签、不可见的标签就不能点击

模拟按键输入

SendKeys("")

清除文本内容
输入文本后又想换一个新的关键词,这里就需要用clear()

获取文本信息
如果判断获取到的元素对应的文本是否符合预期呢?获取元素对应的文本并打印一下~~
获取文本信息:getText()
如果是在input中的value那么应该用getAttribute (String)
String txt = driver.findElement(By.cssSelector("#su")).getAttribute( name: "value");
System.out.printLn("百度一下按钮上的文字为:"+txt);

获取当前页面标题
getTitle()

获取当前页面URL
getCurrentUrl()
 //窗口最大化
driver.manage().window() .maximize();
//窗口最小化
driver.manage().window().minimize();
//全屏窗口
driver.manage().window() .fullscreen()
//手动设置窗口大小
driver.manage().window().setSize(new Dimension(1024,768));

切换标签页
1)获取当前页面句柄:
driver.getWindowHandle();返回值:String
3)获取所有页面句柄:
driver.getwindowHandles()
切换句柄
driver.switchTo().window(w) ;

屏幕截图

File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(srcFile,new File( "my.png"));


http://www.kler.cn/a/515646.html

相关文章:

  • PHP礼品兑换系统小程序
  • Swift 中 Codable 和 Hashable 的理解
  • 如何实现网页不用刷新也能更新
  • 等变即插即用图像重建
  • NIO | 什么是Java中的NIO —— 结合业务场景理解 NIO (一)
  • leetcode——轮转数组(java)
  • 【ElementPlus】在Vue3中实现表格组件封装
  • 超越 GPT-4o!从 HTML 到 Markdown,一键整理复杂网页;AI 对话不再冰冷,大模型对话微调数据集让响应更流畅
  • 使用 Aryn DocPrep、DocParse 和 Elasticsearch 向量数据库实现高质量 RAG
  • ASP .NET Core 学习(.NET9)部署(一)windows
  • WordPress Fancy Product Designer插件Sql注入漏洞复现(CVE-2024-51818)(附脚本)
  • CSS中选择器的分类
  • 代码编写java代做matlab程序代编Python接单c++代写web系统设计
  • FastExcel:高性能Excel处理框架
  • Nacos 和 Zookeeper
  • Go语言通过Casbin配合MySQL和Gorm实现RBAC访问控制模型
  • ES的聚合:定义与技术特点
  • arkime和elasticsearch 安装方法三
  • 记录一次k8s起不来的排查过程
  • 营销2.0时代的挑战与开源AI智能名片2+1链动模式S2B2C商城小程序源码的解决方案
  • 15_业务系统基类
  • .gitignore配置忽略out目录
  • macOS安装Gradle环境
  • 移植前准备之git管理内核源码
  • Appium(四)
  • 【Android学习】Kotlin随笔