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的更多相关文章

  1. 小程序-文章:微信小程序常见的UI框架/组件库总结

    ylbtech-小程序-文章:微信小程序常见的UI框架/组件库总结 1.返回顶部 1. 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小 ...

  2. 微信小程序常见的UI框架/组件库总结

    想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 1:WeUI 小程序–使用教程 h ...

  3. [Android] Android 注解绑定UI View组件库 ButterKnife 的使用

    ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神JakeW ...

  4. ATOMac - 基于Python的Mac应用Ui自动化库

    ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下A ...

  5. 手机APP自动化之uiautomator2 +python3 UI自动化

    题记: 之前一直用APPium直到用安卓9.0  发现uiautomatorviewer不支持安卓 9.0,点击截屏按钮 一直报错,百度很久解决方法都不可以,偶然间看见有人推荐:uiautomator ...

  6. 利用webpack打包自己的第一个Vue组件库

    先说一下这篇文章的诞生原因.我们有一个这样的项目,类似或者说就是一个仪表板-Dashboard,其中的各个部分可能不是一个部门写的……我们需要提供拖拽布局(大小和位置)和展示的能力.要实现这样一个功能 ...

  7. Python UI自动化

    Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...

  8. Web 前端 UI 组件库文档自动化方案 All In One

    Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...

  9. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基 ...

  10. [转载]前端——实用UI组件库

    https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...

随机推荐

  1. SerialException:Cannot configure port something went wrong

    完整报错 SerialException:Cannot configure port something went wrong, Original message: OSError(22, '参数错误 ...

  2. Forest + IDEA = 双倍快乐!ForestX 隆重登场

    Forest + IDEA = 双倍快乐!ForestX 隆重登场 Forest 是一款声明式的 Java 开源 HTTP 框架,相比它的前辈 Httpclient 和 OkHttp 更简明易懂.也更 ...

  3. 【大数据-课程】高途-天翼云侯圣文-Day1:互联网大数据揭秘(大数据介绍&MR实现双十一举牌)

    一.大厂职级 P7:年薪百万 二.大数据发展 1.职业路线和岗位角色 2.大数据行业发展 三.大数据的位置 1.热门行业 大数据承上启下 2.三者关系 啤酒和尿不湿:启发可以放在一块 3.大数据作用 ...

  4. Kafka Connect学习

    一.基础介绍 1.概念 2.Debezium 为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台.可以消费数据库每一个行级别(row-level)的更改. ...

  5. MSTN CE和MSTN SDK安装经验及技巧

    MSTN CE和MSTN SDK安装经验及技巧 本文介绍了MSTN CE及MSTN CE SDK安装的流程以及在安装时可能会遇到的问题 一.MSTN CE安装 1.MSTN CE即Microstati ...

  6. PyTorch复现VGG学习笔记

    PyTorch复现ResNet学习笔记 一篇简单的学习笔记,实现五类花分类,这里只介绍复现的一些细节 如果想了解更多有关网络的细节,请去看论文<VERY DEEP CONVOLUTIONAL N ...

  7. JavaScript:代码应该编写在哪里?

    我们可以将JS的代码,编写在三个地方. 但是无论编写在哪里,最后它都会嵌入进网页代码中,被浏览器执行. 编写在script标签中 我们可以直接在HTML的script标签中,编写大段JS代码. 编写在 ...

  8. 前后端开发必会的 HTTP 协议“十全大补丸”(万字长文)

    本文全面介绍了 HTTP 协议相关知识,包括 HTTP 请求报文.响应报文.持久连接.缓存.Cookie 以及 HTTP 版本升级等! HTTP 协议全称为 HyperText Transfer Pr ...

  9. flask_apscheduler

    网上很多文章包括官网给出来的,更多的是执行的函数和初始话app在同一文件 按照app 路由 模型类 视图 往下延申,项目已经成型,所以上述的方法不适用. (不用操心模型类与app互相导入的错误)下面分 ...

  10. Js文件名 排序

    参考了别人帖子后,调整之后的排序方法,更加精确.(参考链接在底部) 压缩版 function strCompare(str1,str2){if(str1==undefined&&str ...