zoukankan      html  css  js  c++  java
  • Macaca的Python的api整理

    整理了下Macaca的API,做成思维脑图,方便阅览。

    WebDriver


    安装
    pip install wd
    git clone https://github.com/macacajs/wd.py.git

    初始化WebDriver
    driver.init()


    停止WebDriver
    driver.quit()


    附加到现有会话
    driver.attach('012-345-678-9')


    方法
    driver.get('https://www.google.com')
    driver.refresh()
    title = driver.title


    查找元素
    driver.element_by_id('login')
    driver.element_by_xpath('//*[@id="finding-elements-to-interact"]/table[4]')
    driver.element_by_link_text('macaca')
    driver.element_by_partial_link_text('maca')
    driver.element_by_tag_name('input')
    driver.element_by_class_name('btn')
    driver.element_by_css_selector('.btn')


    driver.element_by_id_if_exists('login')
    是否存在
    存在 true
    不存在 false


    driver.element_by_id_or_none('login')
    是否存在
    存在 返回元素
    不存在 none


    driver.wait_for_element_by_id('login')
    等待10s ,每秒尝试一次,如潮水,报错


    WebElement方法

    from macaca import WebElement
    WebElement的实例方法主要与action元素相关,例如单击元素,获取标签名称或获取元素的innerText。
    web_element = driver.element_by_id('login')
    print(type(web_element) == WebElement) # True
    web_element.click()
    tag_name = web_element.tag_name
    text = web_element.text
    web_element.element_by_id('ss')
    WebDriver上的所有元素方法都可以在WebElement上使用,这意味着可以从当前Web元素中查找元素


    按键
    web_element.send_keys('123456')
    driver.send_keys(web_element, '123456')
    特殊键
    from macaca import keys
    print(keys.ENTER)


    截图
    base64_str = driver.take_screenshot()
    Return the base64 encoded string of the screenshot.
    driver.save_screenshot('./screen.png')
    Save screenshot to the given path
    driver.save_screenshot('/etc/screen.png', True)
    权限不允许加 True


    切换上下文
    对于移动测试,我们将需要在Native和Webview之间切换上下文
    ctxs = driver.contexts
    print(ctxs) # ['NATIVE', 'WEBVIEW_1', 'WEBVIEW_2']
    driver.context = 'WEBVIEW_1'
    # Switch to `WEBVIEW_1`


    执行JavaScript代码段
    script = 'return document.querySelector(".btn").tagName === arguments[0]'
    args = ['div']
    result = driver.execute_script(script, *args)

    截图处理
    openCV 图片识别
    sikuli 图形脚本语言
    tesseract 文字识别
    Image Diff基于像素点对比的图像 Diff


    多浏览器支持
    selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium
    selenium-standalone
    通过在本机运行 selenium-standalone 实现驱动桌面端浏览器
    私有云部署
    F2ETest

  • 相关阅读:
    最后之作-Last Order(bushi
    Hydra's plan
    CSP-S2019游记
    题解 P1407
    初赛排序知识
    题解 洛谷P3469
    二分图网络流知识总结
    题解 SGU294 He's Circles
    noip复习——逆元
    noip复习——线性筛(欧拉筛)
  • 原文地址:https://www.cnblogs.com/breakcircle/p/11630034.html
Copyright © 2011-2022 走看看