原创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:/ ...
随机推荐
- AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...
- 外部引入css样式报错Resource interpreted as Stylesheet but transferred with MIME type html/text
Resource interpreted as Stylesheet but transferred with MIME type html/text 解决方法: 1.将content-type改为t ...
- 【每日一题】【与运算判断奇偶】【list的重载前后插入】2021年11月25日-103. 二叉树的锯齿形层序遍历
给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如:给定二叉树 [3,9,20,null,null,15,7], 来源:力扣 ...
- 持续发烧,试试Dart语言的异步操作,效率提升500%
前言 昨天发了篇文章<Dart开发服务端,我是不是发烧(骚)了>,承蒙小编看得起上了首页. 今天持续发烧,再来写写如何使用 Dart 语言的异步操作.说起异步操作,玩 NodeJS 的同学 ...
- linux安装Erlang和Rabbitmq以及安装问题解决
安装环境: Alibaba Cloud Linux 安装erlang命令: rpm --import https://packages.erlang-solutions.com/rpm/erlang_ ...
- 06.python闭包
python闭包 什么样的函数是 闭包函数 ? 满足以下条件: 闭:外层函数嵌套了一个内层函数. 包:内层函数调用外层函数命名空间内的名字. 举例如下: def out_func(): # 外层函数 ...
- 04.Javascript学习笔记3
1.箭头函数 箭头函数是一种更短的函数表达式. const age = birthyear => 2022 - birthyear; console.log(age(2000)) 箭头左边的bi ...
- 几种数据库jar包获取方式
摘要:以下提供的都是各个数据库较为官方的jar包获取方式. 本文分享自华为云社区<JDBC连接相关jar包获取及上传管理中心白名单处理>,作者:HuaWei XYe. jar包获取 以下提 ...
- PowerDotNet平台化软件架构设计与实现系列(14):平台建设指南
软件开发中常见的几种不同服务模型包括SaaS(软件即服务).LaaS(许可即服务).PaaS(平台即服务).CaaS(容器即服务).IaaS(基础设施即服务)和FaaS(功能即服务). 很多人认为Ia ...
- 【深入浅出 Yarn 架构与实现】4-2 RM 管理 Application Master
上一篇文章对 ResourceManager 整体架构和功能进行了讲述.本篇将对 RM 中管理 Application Master 的部分进行深入的讲解. 下面将会介绍 RM 与 AM 整体通信执行 ...