原创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自动化的小伙伴们,还在等什么呢,赶紧下载安装吧,在项目中用起来~
作者留言
原创不易,如果觉得本文对你有帮助,记得打赏噢O(∩_∩)O,您的支持是我创作路上最大的动力~

原创ui自动化组件库-seliky的更多相关文章
- 小程序-文章:微信小程序常见的UI框架/组件库总结
ylbtech-小程序-文章:微信小程序常见的UI框架/组件库总结 1.返回顶部 1. 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小 ...
- 微信小程序常见的UI框架/组件库总结
想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 1:WeUI 小程序–使用教程 h ...
- [Android] Android 注解绑定UI View组件库 ButterKnife 的使用
ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神JakeW ...
- ATOMac - 基于Python的Mac应用Ui自动化库
ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下A ...
- 手机APP自动化之uiautomator2 +python3 UI自动化
题记: 之前一直用APPium直到用安卓9.0 发现uiautomatorviewer不支持安卓 9.0,点击截屏按钮 一直报错,百度很久解决方法都不可以,偶然间看见有人推荐:uiautomator ...
- 利用webpack打包自己的第一个Vue组件库
先说一下这篇文章的诞生原因.我们有一个这样的项目,类似或者说就是一个仪表板-Dashboard,其中的各个部分可能不是一个部门写的……我们需要提供拖拽布局(大小和位置)和展示的能力.要实现这样一个功能 ...
- Python UI自动化
Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...
- Web 前端 UI 组件库文档自动化方案 All In One
Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...
- 16款优秀的Vue UI组件库推荐
16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基 ...
- [转载]前端——实用UI组件库
https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...
随机推荐
- php+nginx环境搭建
PHP安装教程参考:https://www.cnblogs.com/kyuang/p/6801942.html 1.安装基础环境: yum -y install gcc bison bison-dev ...
- Qt网络编程-书接上文,浅谈TCP文件收发,以及心跳包
qt网络编程-书接上文,浅谈文件收发 上文Qt网络编程-从0到多线程编程中谈到 在qt中的qtcpsocket通讯的用法,接下来浅谈一下关于tcp通讯的实际应用,当然了由于是浅谈,也不能保证其功能的完 ...
- ABP AutoMapper与自定义Mapping
对象映射 在工作中,需要将相似的对象映射到另一个对象,这样我们来看一个最繁琐的映射方式 例: public class UserAppService : ApplicationService { pr ...
- GO语言基础 为什么我要学习Golang以及GO语言入门普及
作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.这系列文章入门部分将参考 ...
- OpenJudge 1.8.11 图像旋转
11:图像旋转 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出. 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数. ...
- 47.DRF实现分页
分页Pagination 当我们在PC 或者 App 有大量数据需要展示时,可以对数据进行分页展示.这时就用到了分页功能,分页使得数据更好的展示给用户 比如我们有1W+数据要返回给前端,数据量 ...
- 快速体验,学习lua(一种可嵌入c++,c#,android,object-c等并进行互调支持热更新的脚本)的入门调试系列(3)
--这里是注释 --[[ 功能备注:lua快速体验,学习,了解语法(调试,类似try-catch) 创建时间:2020-6-27 创建人:pcw --]] print("---------- ...
- .gitignore文件配置以及gitee提交报Push rejected...错误解决
.gitignore文件配置 .gitignore 文件可以用来忽略被指定的文件或文件夹的改动.记录在.gitignore文件里的文件或文件夹是不会被 git 跟踪到,也就是被忽略的文件是不会被上传到 ...
- Unix 系统数据文件那些事儿
前言 Unix like 系统和 windows 的最大区别就是有一套标准的系统信息数据文件,一般存放在 /etc/ 目录下,并且提供了一组近似的接口访问和查询信息,这些基础设施让系统管理看起来井井有 ...
- session取不到值
今天鼓捣项目时出现了一个问题 项目重启后,设置session值后,第一次请求经过过滤器时 session取不到值,导致被拦截 经过半天的研究,终于...我请教了别人 把代码给了朋友,在朋友一段时间的琢 ...