Marionette初识一
1.Marionette 是一种远程 协议 ,它允许进程外的程序与基于 Gecko 的浏览器进行通信、检测和控制。
2.Marionette提供了与内部Java Script运行时和基于Gecko的浏览器的UI元素交互的接口。
3.Marionette可以控制 chrome 和文件内容,提供高水平的控制能力和模拟用户交互的能力。
4.Marionette 在中心树中,被用于大量任务集群的测试作业中,去检测Gecko,以及编写不同类型的功能性测试。
5.在树外,geckodriver 使用 Marionette 来实现 WebDriver。
6.Marionette 在不同程度上支持所有基于 Gecko 的应用程序,包括 Firefox、Thunderbird、Fennec 和 Fenix。
7.总结:
Marionette 是 Mozilla 中Gecko引擎的自动化驱动程序。 它可以远程控制Gecko 平台(例如 Firefox) 的UI 或内部 JavaScript 。 它可以控制Chrome(即菜单和功能)或内容(里面加载的网页 浏览上下文),提供高水平的控制和复制用户操作的能力。 除了执行操作浏览器,Marionette也可以读取属性和属性 DOM。
Marionette 与 Selenium/WebDriver 具有许多相同的特性、与 Gecko 的 chrome 界面交互的附加命令和API。 它的目标是复制 Selenium 对 Web 内容所做的事情:使测试人员能够发送命令来远程控制用户代理。与Selenium相比更加强大。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.工作流程:
客户端发送命令给服务器,服务器接收到命令并在Gecko浏览器中执行。如下图:
2.用途:
将 Marionette 客户端包导入到测试框架中,导入类并使用类函数和方法来控制浏览器。 控制浏览器后,Marionette 可用于返回有关浏览器状态的信息,然后可用于验证操作是否正确执行。
3.配置:
1.firefox浏览器:快捷方式->属性->目标->添加 " -marionette",如下图。
完成后,双击火狐,若如图则成功,
2.具有python、Pycharm
3.pip install marionette-driver、pip install marionette-client