ui自动化组件库-seliky

3 分钟了解 seliky

seliky:一个支持RF的selenium封装库,在不影响原功能的基础上,新增了以下特性:

  1. 支持robotframework框架

  2. 当前元素会高亮闪烁。在执行时能够肉眼看到点了哪个元素

  3. 支持弹性定位,可以应对有穷性可变化的元素

  4. 添加了新功能:如cookie登录、各种事件组合等功能

为什么要封装?

  selenium-library和selenium虽然名字相同,其实是截然不容的两个库,原生语法可以更加方便理解selenium源码。

  元素闪烁可以清楚知道执行到哪里了,可以更加方便排查问题。

  即便是可变元素,仍然可以像平常一样写定位,不用来回改改改。

  安装它以了解更多...

安装

  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自动化的小伙伴们,还在等什么呢,赶紧下载安装吧,在项目中用起来~

ui自动化组件库-seliky

上一篇:编程-并查集


下一篇:flex布局