2 个不稳定版本
0.2.0 | 2021 年 7 月 10 日 |
---|---|
0.1.0 | 2021 年 7 月 4 日 |
#424 in 测试
205KB
5K SLoC
侧跑者
用于解析和运行 Selenium .side
文件的库,这些文件用于 Selenium IDE
。
入门
要运行一个文件,您首先需要解析它,然后可以通过索引运行测试。
use siderunner::{parse, Runner};
use thirtyfour::{DesiredCapabilities, WebDriver};
use serde_json::json;
let wiki = std::fs::File::open("examples/wiki.side").expect("Can't open a side file");
let file = parse(wiki).expect("parsing can't be done...");
let client = WebDriver::new("https://127.0.0.1:4444", DesiredCapabilities::firefox())
.await
.expect("can't connect to webdriver");
let mut runner = Runner::new(&client);
runner.run(&file).await.expect("Error occured while running a side file");
assert_eq!(
runner.get_value("slogan"),
Some(&json!("The Free Encyclopedia")),
);
runner.close().await.unwrap();
示例 .side 文件可以在示例目录中找到。
后端
siderunner
支持 2 个后端
thirtyfour
- 默认fantoccini
您可以通过提供特性 fantoccini_backend
来调整 fantoccini
后端,并关闭默认特性,default-features = false
支持命令
Selenium IDE
支持以下 命令。
- 添加选择项
- 对下一个提示做出响应
- 断言
- 断言警报
- 断言已选中
- 断言确认
- 断言可编辑
- 断言元素存在
- 断言元素不存在
- 断言未选中
- 断言不可编辑
- 断言未选择值
- 断言无文本
- 断言提示
- 断言选择值
- 断言选择标签
- 断言文本
- 断言标题
- 断言值
- 勾选
- 在下一个确认对话框中选择取消
- 在下一个提示对话框中选择取消
- 在下一个确认对话框中选择确定
- 点击
- 在指定位置点击
- 关闭
- 调试器
- 执行
- 双击
- 在指定位置双击
- 拖放到对象
- 回显
- 编辑内容
- 否则
- 否则如果
- 结束
- 执行脚本
- 执行异步脚本
- 对每个
- 如果
- 鼠标按下
- 在指定位置鼠标按下
- 将鼠标移动到指定位置
- 鼠标移出
- 鼠标悬停
- 鼠标抬起
- 在指定位置鼠标抬起
- 打开
- 暂停
- 移除选择
- 重复如果
- 运行
- 运行脚本
- 选择
- 选择帧
- 选择窗口
- 发送键
- 设置速度
- 设置窗口大小
- 存储
- 存储属性
- 存储JSON
- 存储文本
- 存储标题
- 存储值
- 存储窗口句柄
- 存储XPath计数
- 提交
- 次数
- 输入
- 取消选中
- 验证
- 验证选中
- 验证可编辑
- 验证元素存在
- 验证元素不存在
- 验证未选中
- 验证不可编辑
- 验证未选中的值
- 验证非文本
- 验证选中的标签
- 验证选中的值
- 验证文本
- 验证标题
- 验证值
- 等待元素可编辑
- 等待元素不可编辑
- 等待元素不存在
- 等待元素不可见
- 等待元素存在
- 等待元素可见
- WebDriver对可见提示的回答
- WebDriver在可见确认中选择取消
- WebDriver在可见提示中选择取消
- WebDriver在可见确认中选择确定
- 当...
开发
单元测试
cargo test --lib
集成测试
要运行集成测试套件,您必须设置一个环境。您可以使用test.bash
文件来运行测试和管理环境。只需运行它。
./test.bash
需求
docker-compose
贡献
欢迎所有贡献。
我建议从解决一些未实现的命令开始。还有一个很好的开始地方是fantoccini
后端,因为它已经有些过时了,与默认后端相比,那里有大量未实现的命令。
后端仓库中可能也有一些事情要做,所以您也可以帮助他们。
依赖
~4–9MB
~182K SLoC