Macaca的Python的api整理

Posted breakcircle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\n 实现驱动桌面端浏览器
私有云部署
F2ETest

 

以上是关于Macaca的Python的api整理的主要内容,如果未能解决你的问题,请参考以下文章

macaca测试web小例子

macaca搭建

MACACA自动化框架搭建

Python之os.popen和os.system

macaca 测试web

Macaca自动化测试之PC端测试