selenium grid是什么呢?

selenium主要由三个工具组成:WebDriver、IDE、Grid。WebDriver 使用浏览器提供的 api 来控制浏览器,就像用户在操作浏览器,不具有侵入性。 IDE 是 Chrome 和 Firefox 扩展插件,可以录制用户在浏览器中的操作。Grid 用于 Selenium分布式,你可以在多个浏览器和操作系统运行测试用例。

环境/工具准备

  • java环境
  • selenium-server-standalone-3.7.1.jar
  • mumu模拟器
  • Appium Desktop V1.15.1
  • node.js环境

下载jar

下载地址: http://selenium-release.storage.googleapis.com/index.html

这里以selenium-server-standalone-3.7.1.jar为例

启动服务

下载完成之后,就启动服务(启动服务之前,需要有java环境),在jar所在路径下执行一下的命令:

java -jar selenium-server-standalone-3.7.1.jar  -role hub
# -role参数表示指定当前角色是为hub


浏览器访问grid

在浏览器输入以下链接:

http://127.0.0.1:4444/grid/console

注册node

注册node之前需要先获取模拟器的相关信息

(1)连接模拟器

adb connect 127.0.0.1:7555

(2)查看设备

adb devices

由以下图可以得到mumu模拟器的地址和端口号

(3)新建main.json
在json中的配置即为node注册到hub所需要的信息,main.json内容如下:

{"capabilities":[{"deviceName": "127.0.0.1:7555","version":"6.0","maxInstances": 3,"platform":"ANDROID","browserName": ""}],"configuration":{"cleanUpCycle":2000,"timeout":30000,"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy","hub":"127.0.0.1:4444/grid/register","url":"http://127.0.0.1:4723/wd/hub","host": "127.0.0.1","port": 4723,"maxSession": 3,"register": true,"registerCycle": 5000,"hubPort": 4444,"hubHost": "127.0.0.1","hubProtocol": "http"}
}

安装node.js

如果本地有node.js环境的话,可以忽略,没有的话需要先安装node.js

node.js下载地址:

https://nodejs.org/en/download/releases/

推荐下载Node.js版本12.x(windows: msi文件,mac: pkg )

执行main.json

进入到Appium的js启动脚本路径,我的路径为
C:\Users\Acer\AppData\Local\Programs\Appium\resources\app\node_modules\appium\build\lib,通过执行如下Appium启动指令:

node main.js -a 127.0.0.1 -p 4723 -bp 4725 -U 127.0.0.1:7555 --nodeconfig F:\main.json
# -a 127.0.0.1是appium服务的地址
# -p 4723是appium的端口号
# -bp参数表示bootstrap的监听端口号
# -U 127.0.0.1:7555是mumu模拟器的udid
#--nodeconfig F:\main.json  这个是配置文件所在的目录

执行脚本

#在雪球app操作以下的内容
from appium import webdriver
desire_cap ={"platformName": "android","deviceName": "127.0.0.1:7555","appPackage": "com.xueqiu.android",#雪球首页"appActivity": ".view.WelcomeActivityAlias",#屏蔽弹框"noReset": "true","browserName": ""}
#获取驱动,创建链接
# driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desire_cap)
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities=desire_cap)driver.implicitly_wait(10)
#点击搜索
el2 = driver.find_element_by_id("com.xueqiu.android:id/tv_search")
el2.click()
#输入alibaba
el3 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el3.send_keys("alibaba")
#点击搜索
el4 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout[1]/android.widget.LinearLayout/android.widget.TextView[1]")
el4.click()
print("搜索成功")

Appium 分布式selenium grid相关推荐

  1. Selenium Grid的使用(分布式测试)

    1.Selenium Grid简介 Selenium Grid组件专门用于远程分布式测试或并发测试.使用此组件可以在一台计算机上给多台计算机(不同操作系统和不同版本浏览器环境)分发多个测试用例从而并发 ...

  2. Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试

    最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...

  3. 03-19 分布式测试-Selenium Grid

    简介 Selenium Grid 远程运行 Selenium test,主旨是在多个机器上并行运行 selenium 优点 它是所有测试的中心入口点 可以管理和控制浏览器运行的 Nodes/环境 扩展 ...

  4. 【Selenium Grid 分布式测试】Selenium Grid-简介

    前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210423. 9.Selenium Grid 分布式测试 Selenium Grid 分布式测试-Selenium Grid简 ...

  5. Selenium Grid 分享

    Selenium 家族简单介绍: Selenium 1.0 Selenium 1.0 包括了 Selenium IDE, Selenium Grid和Selenium RC(Selenium Remo ...

  6. Selenium Grid的搭建方法

    一.什么是Selenium Grid Selenium Grid 是一种可以并发执行 GUI 测试用例的测试执行机的集群环境,分为 HUB 和 Node 模式.Selenium Hub 用来管理各个 ...

  7. Selenium Grid跨浏览器-兼容性测试

    Selenium Grid跨浏览器-兼容性测试 这里有两台机子,打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.16 ...

  8. Selenium大家族介绍(selenium RC,selenium IDE, selenium Grid, selenium Webdriver)

    Selenium selenium 是当下非常流行的自动化测试框架,selenium是开源项目. selenium是一个大家族,这个家族中的主要成员有如下所示: selenium RC: seleni ...

  9. 【转】Selenium Grid 个人理解

    估计现在用selenium 的人也越来越多了.selenium rc用起来了之后.肯定会有一些想法. 第一,怎么能同时跑多个测试,就是所谓的并发.否则来100个case,一个一个的跑,几个小时才能跑完 ...

最新文章

  1. telerik 某些ajax拿数据方式下 load on demand 不起作用
  2. java渡劫期(32)----java进阶(ssm整合项目实战----房屋出租系统(渡劫失败))
  3. Java基础day20
  4. GridSearchCV和交叉熵
  5. 清除Linux终端命令的历史记录
  6. javascript php 性能,浅谈页面装载js及性能分析方法_javascript技巧
  7. 《大型数据库技术》MySQL管理维护
  8. (bfs)广度优先 实现图的遍历
  9. use MSAgent in C#
  10. 波动率模型以及波动率的程式化特征实证
  11. 爬虫抓图2022年全网最新方法,这一次终于是4k高清美图
  12. 锐捷商通v6数据库服务器位置,热烈庆祝我校开通IPv6资源
  13. Autoleaders控制组——叶睿 第三次任务
  14. 程序员软技能:职场、学习、生活,代码之外生存之南
  15. 放大器电路在设计过程中常见问题分析及如何解决
  16. 大文件上传控件webupload插件
  17. IT男青年应该献身文艺女青年的十大理由
  18. angular预览PDF总结
  19. 微信小程序云开发实现上传文件和预览下载文件
  20. ad15原理图中变压器种类_最简单的变压电路图大全(十一款最简单的变压电路设计原理图详解) - 全文...

热门文章

  1. Ubuntu18.04 安装 Anaconda3
  2. 默纳克全系列电梯软件刷协议
  3. 【Rust开荒】数组避坑分享
  4. 努力4个月,换一份月薪2万的UI设计工作值不值?
  5. 天梯赛 7-6 吉老师的回归
  6. mobaxterm怎么解除sessions个数限制_广发信用卡特定商户交易被限制怎么解决?多久解除?其实没那么复杂...
  7. 浙大版《C语言程序设计(第3版)》题目集 练习2-3 输出倒三角图案
  8. echarts饼状图表
  9. overleaf入门教程
  10. QT 实现发送邮件功能