selenide 自动化测试进阶一: 查找元素和相关操作

基础环境配置和举例请移步:https://www.cnblogs.com/davice/p/9298742.html

提到自动化有些测试同学就会问,我会使用工具录制做自动化,我会用工具或插件识别元素。但是这些并不能满足做自动化日常的使用,要学通自动化的每一步,有兴趣的同学可以和我一起进入深入学习。

识别元素方法:xpaht\css 比较常用。我们这里介绍一下xpath的使用。

xpath具体学习教程请参考:http://www.w3school.com.cn/xpath/index.asp

XPath表达式

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。这些步骤以“/”字符分开,每一步有三个构成成分:

轴描述(用最直接的方式接近目标节点)

节点测试(用于筛选节点位置和名称)

节点描述(用于筛选节点的属性和子节点特征)

例如我们要查找百度的搜索文本框如下图:

xpath 写法:  //input[@id=’kw’]

我们继续上代码:

import com.codeborne.selenide.Configuration;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;

import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.sleep;
import static com.codeborne.selenide.Selenide.open;

public class testSelenideFirst {

    @Test
    public void test1(){
            Configuration.browser = "chrome";
            System.setProperty("webdriver.chrome.driver", "D:\\work\\com.test.selenium\\drivers\\chromedriver.exe");
            open("http://www.baidu.com");

        $(By.xpath("//input[@id=‘kw‘]")).setValue("xpath");
        $(By.xpath(".//*[@id=‘su‘]")).click();

        sleep(2000);

    }
}
$(By.xpath("//input[@id=‘kw‘]")).setValue("xpath");

这里表示的 查找 id=”kw” 的输入框,并在文本框中输入 “xpath” 文字

$(By.xpath(".//*[@id=‘su‘]")).click();

查找id=”su”的 元素。并点击。

到这里我们已完成了第一个自动化的样例。打开百度首页。并输入内容,点击搜索按钮。

这个学习过程非常重要:

1、学习xpath 的相关内容。

2、学习selenide 的基础语法。 $查找元素方法

这两点需要大家不断实践和编写实例代码去感受和大量实战。

如过程中有问题可以在下方留言或加我微信:

原文地址:https://www.cnblogs.com/davice/p/9304646.html

时间: 2024-10-21 22:28:33

selenide 自动化测试进阶一: 查找元素和相关操作的相关文章

HTML5 DOM元素类名相关操作API classList简介(转载自张鑫旭大神)

一.其实事情的发展就像切水果 如果我们把元素的类名操作比作“切水果”游戏的话,其中一个单独的类名就好比“水果”或“炸弹”! DOM Level 2时代,类名的获取与设置,多半使用className属性,className的生效近似切水果的“一刀切”.在web的初期,交互什么的其实很简单的来:就像切水果刚开始的时候,一次就一个水果飞上来,一刀“咔嚓”切了就好,就像使用className赋个类名值,就算偶尔冒出2个水果,className也可以一刀切搞定的. 但是,随着web的发展,交互的逐渐复杂,

javascript中通过className灵活查找元素 例如我们要把根据class来进行修改样式

原文:javascript中通过className灵活查找元素 例如我们要把根据class来进行修改样式 一.背景:一个表单中,要修改一些li中有class=box的样式,将它的background设置为red红色.一般的做法是我们可以先找到父级元素 ,然后由父级元素找到所有相关tagName,最后,来一个if判断,如果class属性为box,则修改之 var oUl = document.getElementById("ul1");                          

【CSS进阶】伪元素的妙用2 - 多列均匀布局及title属性效果

最近无论是工作还是自我学习提升都很忙,面对长篇大论的博文总是心有余而力不足,但又不断的接触学习到零碎的但是很有意义的知识点,很想分享给大家,所以本篇可能会很短. 本篇接我另一篇讲述 CSS 伪元素的文章: [CSS进阶]伪元素的妙用–单标签之美,看完本文觉得有意思的可以再去看看上一篇,分享了一些伪元素的妙用. 正文从这里开始: 哪些标签不支持伪元素? 我也是才知道这个姿势.为了不误导读者,就赶紧补充一下. 伪元素虽然强大,但是还是有一些特定的标签是不支持伪元素 before 和 after 的.

Selenium自动化测试-进阶2-框架篇

前面的文章已经讲述了 Selenium自动化的入门知识,不知道各位看官看懂没有,有不懂的请留言. 接下来,开始讲解 Selenium自动化测试进阶知识. 首先讲解:自动化测试的核心: 利用自动化程序代替手工,实现复杂繁琐的测试. 所以:自动化测试的运行必须是准确的,否则费时费力. 什么样的程序是准确的?? 准确的自动化程是 95%以上Error是真正的错误.否则,自动化测试就是失败的. 那么,要怎么提高自动化测试运行的准确率呢? 把基础学扎实了! 要学好自动化,Java要学好,然后是 JS,当然

Robot Framework自动化测试(二)---元素定位

说明: 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API.比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试,当然,需要先将相关的数据库包导入. 那么测试框架的本质是什么?个人觉得有以下几个方面. 1.比较 测试实质就是“比较”,在测试之前需要先写用例,假设经过各种操作之后会得到一个预期的结果,然后,在测试的过

【Jsoup的学习礼记】使用选择器语法来查找元素

问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现: File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); Ele

jsoup使用选择器语法来查找元素

问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现: File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); Ele

使用选择器语法来查找元素

问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现: File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); Ele

10.0 花里胡哨的各个方位滑动查找元素

在介绍滑动查找元素之前,请先容许我插上一嘴--之前章节有更新过  Uiobject uicollection uiselector   这里还有一个新东西叫做  uiscrollable这个class它里面是封装了所有的滑动处理的相关操作! name这个叫做uiscrollable的类里面有那些东西了: Scrollintoview-----获取某个可滑动区域,然后滑动这个区域里面的元素查找我们所需要的元素 #后面的text查找条件可以用组合查找也可以用 textcontains 关键之查找te