(二)实战: 最简单的自动化脚本

乙醇 创建于 almost 7 years 之前

最后更新: 2 months 之前

阅读数: 1

(二)实战: 最简单的自动化脚本

目的

  • 熟悉selenium webdriver 代码套路
  • 体验元素定位的最简单情形
  • 学会如何模拟输入键盘按键

如何学习

将代码抄一遍,然后精读一遍,了解每一行代码的意义。

场景

本节我们需要使用selenium打开chrome浏览器,跳转到百度首页(http://www.baidu.com),在搜索框中输入selenium并按下回车键。

代码

新建文件simple_automation_script.js,并键入下面的内容。


var webdriver = require('selenium-webdriver'),
  By = webdriver.By,
  Key = webdriver.Key;

var dr = new webdriver.Builder().forBrowser('chrome').build();

dr.get('http://www.baidu.com')
dr.findElement(By.id('kw')).sendKeys('selenium');
dr.findElement(By.id('kw')).sendKeys(Key.RETURN);

console.log('quit driver');
dr.quit();

运行

在命令行中运行

node simple_automation_script.js

常见错误

  • WebDriverError: unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}

这是get时url拼写错误导致的,检查dr.get('http://www.baidu.com')这一行url地址是否准确。

  • NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="www"]"}

selenium找不到元素时会报的错,这是selenium开发者最常见的错误,没有之一。上面错误提示中很明确的告诉我们,页面上没有id为www的元素。遇到这种问题时,我们需要多尝试几种定位元素的方式。

总结

  • new webdriver.Builder('browser name').build()语句可以打开我们指定的浏览器,另外使用Builder,我们还可以使用环境变量在运行时动态指定浏览器类型,这对于持续集成来说非常方便;

  • dr.findElement(By.id('element id'))语句使用id来定位具体的元素;

0

相关课程

测试工具合集
图文
测试工具合集

课程分类: 自动化测试 测试工具 中间件

我们收集的各种测试工具

  • 已完结
  • 已更新7集
  • 最后更新时间: 2024-03-18 12:04:41

免费

查看详情
selenium python 综合教程
图文
selenium python 综合教程

课程分类: 自动化测试

selenium python入门及提升

  • 已完结
  • 已更新21集
  • 最后更新时间: 2024-03-18 10:51:39

免费

查看详情
slenium java 语言教程
图文
slenium java 语言教程

课程分类: 自动化测试

selenium java binding

  • 已完结
  • 已更新20集
  • 最后更新时间: 2024-03-18 10:26:10

免费

查看详情