基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 元素定位(1)

  • 方便操作

  • 获取测试对象的属性

  • 获取测试对象的值

  • 获取测试对象的数量

  • 断言—[断言其实就是验证点]

定位对象的方法

$x(‘//*[@name=“username”’)

1、id *

2、name *

3、class name—【用的较少】

4、css selector—【用的较少】

5、a标签的link text

6、partial link text [部分文字]

7、tag name—[非常不常用]

8、xpath * 基于文档节点定位的一中方式

这里大家可以参考下面两篇关于元素定位的8大方法的文章

UI自动化之八大元素定位方法

WebDriver常见八大元素定位解析

1.2 层级定位

WebElement email =Demo5_driver.findElement(By.id(“su”)); //id定位

WebElement email =Demo5_driver.findElement(By.className(“bg s_btn”)); //class未定位到元素

WebElement email =Demo5_driver.findElement(By.cssSelector(“.bg.s_btn”)); //css定位 [“.”]

WebElement email =Demo5_driver.findElement(By.linkText(“新闻”)); //linktext定位

WebElement email =Demo5_driver.findElement(By.partialLinkText(“test”));

元素定位的优先级

id name > 层级定位 (先定位父节点,再通过父节点定位子节点)> 文档定位

xpath语法:By.xpath(“//input[@id=’’]”)

四部分

  • // :搜索标识 (也可以用一个“/”进行文档定位)

  • input:标签(一般可以用*代替)

  • d:属性

  • ''xxx":内容

WebElementel=driver.findElement(By.xpath(“//input[@id=‘userPswd’]”));

WebElmentel =driver.findElement(By.xpath(“/html/body/form/…”)); //文档定位,不太建议使用

WebElementel=Demo5_driver.findElement(By.className(“classname”).findElement(By.id(“id”))); //层级定位

WebElement el=Demo5_driver.findElement(By.xpath(“//input[@name=‘wd’]”)); //使用xpath@name获取元素

2、定位一组元素


Demo6_driver.get(“file:///C:/Users/Administrator/Desktop/autoTest/checkbox.html”);

List els=Demo6_driver.findElements(By.cssSelector(“input[type=checkbox]”));//使用css获取元素

System.out.println(els.size());

// 遍历所有checkbox

// for(WebElement el:els){

// el.click();

// Thread.sleep(1000);

// }

els.get(els.size()-1).click();//点击第三个checkbox

Thread.sleep(3000);

Demo6_driver.quit(); //退出WebDriver

3、使用工具快速定位元素


3.1 Chrome开发者工具

Xpath定位


在这里插入图片描述


结果://*[@id=“kw”]

可使用的Xpath路径

代码://*[@id=’kw’]

结果:/html/body/div/form/input[1]

层级定位的Xpath路径

弱点:找不到关于“name”属性的定位

3.2 Selenium IDE[基于Firefox插件]

该方法说真的确实有些鸡肋…

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。

因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
img
img
img

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
img

中…(img-hWamDBEk-1712562141735)]

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-Jqb0cIss-1712562141735)]

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP自动化测试工具有很多,其中一个比较常用的是PHPUnit。PHPUnit是一个用于PHP单元测试的测试框架,它提供了一些功能来编写和运行测试用例。PHPUnit可以与Selenium WebDriver结合使用来执行Web应用程序的自动化测试。 在PHPUnit中使用Selenium WebDriver需要使用php-webdriver库。php-webdriver是一个PHP客户库,它提供了一个简单的接口来与Selenium WebDriver进行交互。使用php-webdriver和PHPUnit,你可以编写自动化测试用例来测试Web应用程序的各个方面,如用户界面、表单验证等。 下面是一个使用php-webdriver和PHPUnit编写的简单的自动化测试用例: ```php <?php use PHPUnit\Framework\TestCase; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\WebDriverBy; class MyTest extends TestCase { protected $webDriver; public function setUp() { $capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'chrome'); $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities); } public function tearDown() { $this->webDriver->quit(); } public function testTitle() { $this->webDriver->get('http://www.example.com'); $this->assertEquals('Example Domain', $this->webDriver->getTitle()); } public function testLink() { $this->webDriver->get('http://www.example.com'); $link = $this->webDriver->findElement(WebDriverBy::tagName('a')); $link->click(); $this->assertEquals('Example Domain', $this->webDriver->getTitle()); } } ``` 在这个示例中,我们首先使用了PHPUnit的TestCase类来定义测试用例,然后在setUp()方法中创建了一个RemoteWebDriver实例,该实例与Selenium WebDriver通信。在tearDown()方法中,我们退出WebDriver会话。 在testTitle()方法中,我们使用WebDriver访问了一个网站,并检查了页面标题是否正确。在testLink()方法中,我们模拟了用户点击页面上的链接,并检查了新页面的标题是否正确。 通过php-webdriver和PHPUnit,我们可以轻松地编写和运行自动化测试用例来测试Web应用程序的各个方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值