赞
踩
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
打开控制面板-打开防火墙设置-点击【高级设置】-点击【入站规则】找到下面两个规则并开启
访问官网 Downloads | Selenium 下载 selenium-server-standalone
下载好selenium-server-standalone-3.141.59.jar包后,分别放到两台电脑的任意位置
配置浏览器驱动
浏览器驱动如何配置,请自行百度(谷歌的驱动可以从这里下载https://npm.taobao.org/mirrors/chromedriver),我后面主要使用的是firefox浏览器
安装JDk
https://www.cnblogs.com/linuxchao/p/linuxchao-jenkins-setup.html 我的这篇文章里面有安装jdk的教程,但是请注意jdk的版本
搭建环境
配置hub主机
我选择作为hub主机的地址为:192.168.1.103
打开cmd终端,并切换到selenium-server-standalone-3.141.59.jar所在的目录下,执行命令:java -jar selenium-server-standalone-3.141.59.jar -role hub
执行命令后,会初始化本机为hub服务器,自动分配一个ip地址(如图,这个地址是个虚拟地址,作为hub的主机地址,因为同一台机器可以同时作为hub和note,所以会自动生成一个虚拟地址),端口号默认为4444,当然你在初始化hub主机的时候也可以修改默认端口,添加-port=指定端口号即可
初始化完成后,我们可以访问http://192.168.24.1:4444:/grid/console来查看初始化的hub状态如图
配置node节点
我选择的node节点机器的地址为:192.168.1.102
同样打开cmd终端,并切换到selenium-server-standalone-3.141.59.jar所在的目录下,执行命令:
java -jar selenium-server-standalone-3.141.59.jar -role webdriver -browser “browserName=firefox,platform=WINDOWS” -hubHost 192.168.1.103(hub所在的主机地址)
如果你使用的浏览器是chrome,可能你需要执行这个命令(别问我为什么,我使用chrome浏览器的时候,使用上面的命令,只是修改了browserName=chrome,没有成功)
java -jar -Dwedriver.chrome.driver=driver所在的目录\chromedriver.exe selenium-server-standalone-3.141.59.jar -browser “browserName=chrome, version=75” -role node -hubHost 192.168.1.103
命令执行完毕后你会看到下面的输出信息
ok,现在我们再次访问一下hub主机的地址看下状态
右边就是我初始化成功后的远程node节点机器的配置,左边我也配置了一个,是在hub所在的主机配置的一个note节点
到这里,我们的分布式自动化测试环境就配置完成了,接下来开始编写我们的测试代码,看下是否能够在远程note机器上执行测试
测试脚本
测试脚本放在hub所在的机器(我们的目的就是控制远程note机器执行测试(打开浏览器执行测试),并不是hub所在机器执行(要不然还有啥意义呢?))
“”"
import time
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestSeleniumGrid(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Remote(command_executor=“http://192.168.1.102:16891/wd/hub”,
desired_capabilities={“browserName”: “firefox”, # 浏览器名称
“platform”: “WINDOWS”
})
def test_grid(self):
self.driver.get(“https://www.baidu.com”)
self.driver.find_element_by_id(‘kw’).send_keys(‘linux超’)
self.driver.find_element_by_id(‘su’).click()
WebDriverWait(self.driver, 10). \
until(EC.visibility_of_element_located((By.XPATH, ‘//a[text()=“https://www.cnblogs.com/”]’)))
page_source = self.driver.page_source
self.assertIn(‘linux’, page_source)
def tearDown(self):
self.driver.quit()
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。