【软件测试】selenium中元素的定位

这篇具有很好参考价值的文章主要介绍了【软件测试】selenium中元素的定位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.元素的定位

不管用那种方式,必须保证页面上该属性的唯一性

1.CSS 定位

  • CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML XML 文档的表现。
  • CSS 使用选择器来为页面元素绑定属性。这些选择器可以被selenium 用作另外的定位策略
  • CSS的获取可以用chromeF12开发者模式中Element-右键-copy-copy selector来获取

id选择器,类选择器,标签选择器,父代选择器

 2.Xpath定位

  • 什么是XPathhttp://www.w3.org/TR/xpath/
  • XPath 基础教程:http://www.w3schools.com/xpath/default.asp
【软件测试】selenium中元素的定位,软件测试,selenium,测试工具,测试

 2.第一个测试案例

在百度首页输入框中输入软件测试去查找,并验证搜索结果

    private static void test02() throws InterruptedException {
        // 创建驱动
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--remote-allow-origins=*");
        WebDriver webDrive = new ChromeDriver(options);
        // 打开百度页面(
        webDrive.get("https://www.baidu.com");
        // 输入软件测试
        webDrive.findElement(By.cssSelector("#kw")).sendKeys("软件测试");
        // 点击百度一下按钮
        webDrive.findElement(By.cssSelector("#su")).click();
        // 验证结果,找到‘软件测试’文案对应的元素
        // 等待4s
        sleep(4000);
        List<WebElement> webElements = webDrive.findElements(By.cssSelector("em"));
        if (webElements.size() > 0) {
            System.out.println("测试成功");
        } else {
            System.out.println("测试失败");
        }
    }

可以看到运行结果如下:

【软件测试】selenium中元素的定位,软件测试,selenium,测试工具,测试

 【软件测试】selenium中元素的定位,软件测试,selenium,测试工具,测试

3.测试练习

  • click点击对象
  • send_keys 在对象上模拟按键输入
  • clear 用于清空对象输入的文本内容
  •  submit 用于提交,点击的元素必须在form表单中
  • text 用于获取元素的文本信息

1.添加等待

强制等待:sleep(1000)

隐式等待:

显示等待:

2.获取url,title

        // 获取当前页面的url
        String url = webDriver.getCurrentUrl();
        // 获取到当前页面的title
        String title = webDriver.getTitle();

3.对浏览器大小进行设置

最大化: maximize

设置大小:setSize

全屏:fullScreen

        // 浏览器最大化
        webDriver.manage().window().maximize();
        // 浏览器全屏
        webDriver.manage().window().fullscreen();
        // 设置浏览器高度和宽度像素点都是500px
        webDriver.manage().window().setSize(new Dimension(500, 500));

4.操作浏览器前进后退

navigate

        webDriver.navigate().back();
        sleep(3000);
        // 浏览器前进
        webDriver.navigate().forward();
        sleep(3000);
        // 浏览器刷新
        webDriver.navigate().refresh();

5.定位一组元素文章来源地址https://www.toymoban.com/news/detail-586603.html

        // 获取当前页面的url
        String url = webDriver.getCurrentUrl();
        // 获取到当前页面的title
        String title = webDriver.getTitle();

        // 浏览器最大化
        webDriver.manage().window().maximize();
        // 浏览器全屏
        webDriver.manage().window().fullscreen();
        // 设置浏览器高度和宽度像素点都是500px
        webDriver.manage().window().setSize(new Dimension(500, 500));

        webDriver.navigate().back();
        sleep(3000);
        // 浏览器前进
        webDriver.navigate().forward();
        sleep(3000);
        // 浏览器刷新
        webDriver.navigate().refresh();

        // 按下Control+A
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "A");
        sleep(3000);
        // 按下Control+X
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "X");
        sleep(3000);
        // 按下Control+V
        webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL + "V");

        //右击按钮
        actions.contextClick(target).perform();

        // 获取到所有的input标签对应的元素
        List<WebElement> webElements = webDriver.findElements(By.cssSelector("input"));
        // 判断每一个input标签里面type值是checkbox进行点击,否则不点击
        for(int i = 0; i < webElements.size(); i++) {
            if(webElements.get(i).getAttribute("type").equals("checkbox")) {
                webElements.get(i).click();
            } else {
                ;
            }
        }

到了这里,关于【软件测试】selenium中元素的定位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试|Selenium 元素不可交互异常ElementNotInteractableException问题分析与解决

    简介 在使用 Selenium 进行 Web 自动化测试时,我们可能会遇到各种异常情况。其中之一就是 ElementNotInteractableException 异常,这通常意味着在尝试与页面元素交互时出现了问题。本文将详细介绍这个异常的原因、可能的解决方法,并提供示例代码来帮助你更好地理解和处理这种情

    2024年02月08日
    浏览(65)
  • 软件测试人员必备的60个测试工具清单!_软件测试配置清单

    7、Gatling 前两种是比较常用的 4.C/S自动化工具 1,qtp (录制回放和脚本编辑),用到的是vb语言 2,winrunner IBM产品类似qtp 3,autoit 在窗口定位上做到很不错 5.白盒测试工具 1,jtest java语言的单元测试框架 2,JUnit 验证java的工具 3,cppunit 跨平台的c++单元测试框架 4,gtest 跨平台的

    2024年04月28日
    浏览(55)
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?

    软件压力测试 一、含义: 软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,以及在高峰期或高负载情况下系统的响应

    2024年02月11日
    浏览(58)
  • 【软件测试】接口测试工具APIpost

    说实话,了解APIpost是因为,我的所有接口相关的文章下,都有该APIpost水军的评论,无非就是APIpost是中文版的postman,有多么多么好用,虽然咱也还不是什么啥网红,但是不知会一声就乱在评论区打广告,实在气愤,一律删帖。 但是,看的多了,也就有了装一下看看的冲动了

    2024年02月13日
    浏览(55)
  • 【软件测试】单元测试工具---Junit详解

    JUnit是一个Java语言的单元测试框架。 虽然我们已经学习了selenium测试框架,但是有的时候测试用例很多,我们需要一个测试工具来管理这些测试用例,Junit就是一个很好的管理工具,简单来说Junit是一个针对Java单元测试的框架。Junit由Junit Platform _ Junit Jupiter + junit Vintage3部分组

    2024年02月15日
    浏览(44)
  • 软件测试人员必知测试工具!

    在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,也会被问到测试工具的,比如,在面试时,最常

    2024年04月16日
    浏览(52)
  • 软件测试人必知测试工具

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对

    2024年03月14日
    浏览(50)
  • 软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例

    目录 自动测试和测试工具 工具和自动化的好处 测试工具 查看器和监视器 驱动程序 桩 压力和负载工具 干扰注入器和噪声发生器 分析工具 软件测试自动化 宏录制和回放 可编程的宏 完全可编程的自动测试工具 随机测试:猴子和大猩猩 使用测试工具和自动化的实质 缺陷轰炸

    2024年02月08日
    浏览(55)
  • 软件测试——接口测试框架Flask与测试工具Postman、PyMySQL

    什么是Flask: Flask是一个Python Web框架,通常被称为微框架。它旨在保持应用程序的核心简单且可扩展。与其他Web框架不同,Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以将这些功能添加到应用程序中。Flask的优势在于它可以与你珠联璧合

    2024年04月13日
    浏览(54)
  • 软件测试人员必备的60个测试工具清单

    据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才,不断采取积极有效的措施。我国对软件测试人才的需求数量还将持续增加,因此软件测试工程师也就成为了IT职业

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包