原创ui自动化组件库-seliky
seliky是本人单独开发的一个selenium封装库,非常好用,公司里我所在一整条业务线都用上了噢,可以通过pip来安装,下面简单介绍一下。
一. seliky特性
- 语法简洁,省去了原生冗长的句式。
- 支持robotframework框架,并采用了面向关键字的思想。是采用RF做自动化的公司的福音。
- 在界面执行时元素会高亮闪烁,能够肉眼看到点了哪个元素,非常方便调试。
- 支持弹性定位,可以应对有穷性可变化的元素,再也不怕元素变来变去了。
- 具备强大的异常机制,抛出与不抛出可自定义。
- 自带日志打印,三种颜色更加好区分。
- 兼容原生语法。并不是说干掉了selenium,而是基于selenium写的。
二. 安装
库采用python编写,已经发版了,可以直接使用pip安装。
pip install seliky
三. demo案例
1. 在py中使用(demo.py)
import time from seliky import WebDriver2 # 自带高亮 class Page: """元素定位和界面信息""" baidu_url = "http://www.baidu.com" baidu_fanyi_url = "https://fanyi.baidu.com/#zh/en/" search_box = 'id=kw' search_button = ['id=wrong id', '//@class=wrong xpath', 'id=su', "css=wrong css"] # 只要有一个是对的就能定位到 search_words = ["小唐", "小李", "小刘"] def test_baidu(): """百度搜索测试""" p = Page() driver = WebDriver2() driver.get(p.baidu_url) for i in p.search_words: driver.clear(p.search_box) driver.send_keys(i, p.search_box) driver.click(p.search_button) time.sleep(1) time.sleep(3) origin_driver = driver.driver # selenium原生driver origin_driver.get(p.baidu_fanyi_url) # 语言优势:也可以使用原生driver的方法 time.sleep(5) driver.quit() if __name__ == '__main__': test_baidu()
2. 在robotframe中使用(demo.robot)
*** Settings *** Library WebDriver2.py *** Variables *** # 元素定位和界面信息 ${baidu_url} http://www.baidu.com ${baidu_fanyi_url} "https://fanyi.baidu.com/#zh/en/" ${search_box} id=kw @{search_button} id=wrong id //@class=wrong xpath id=su css=wrong css # 弹性定位:列表中只要有一个元素是对的,就能定位到 @{search_words} 小唐 小李 小刘 *** Test Cases *** # 百度搜索测试 demo get ${baidu_url} # 进入百度首页 FOR ${i} IN @{search_words} clear ${search_box} # 清除搜索框 send keys ${i} ${search_box} # 搜索框输入搜索词 click ${search_button} # 点击搜索按钮 END sleep 3 quit
在做ui自动化的小伙伴们,还在等什么呢,赶紧下载安装吧,在项目中用起来~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架