%global _empty_manifest_terminate_build 0 Name: python-rtsf-web Version: 1.3.5 Release: 1 Summary: only for web ui test, base on rtsf License: MIT URL: https://github.com/RockFeng0/rtsf-web Source0: https://mirrors.aliyun.com/pypi/web/packages/05/84/8e8d48d8495859ecf66f815b4efbb0c8049902bfa8facaf500949db4293f/rtsf-web-1.3.5.tar.gz BuildArch: noarch Requires: python3-selenium Requires: python3-requests Requires: python3-rtsf %description Chrome |[chromedriver(.exe)](http://chromedriver.storage.googleapis.com/index.html) Internet Explorer |[IEDriverServer.exe](http://selenium-release.storage.googleapis.com/index.html) Edge |[MicrosoftWebDriver.msi](http://go.microsoft.com/fwlink/?LinkId=619687) Firefox 47+ |[geckodriver(.exe)](https://github.com/mozilla/geckodriver/releases/) PhantomJS |[phantomjs(.exe)](http://phantomjs.org/) Opera |[operadriver(.exe)](https://github.com/operasoftware/operachromiumdriver/releases) Safari |[SafariDriver.safariextz](http://selenium-release.storage.googleapis.com/index.html) **selenium-server** |[selenium-server-standalone.jar](http://selenium-release.storage.googleapis.com/index.html) ### 安装rtsf-web pip install rtsf-web ## 简单使用 使用rtsf-web简化selenium的使用 1. 本地浏览器驱动 ``` import webuidriver driver = webuidriver.Chrome() # 返回的driver 是selenium原生对象 driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until # until_find.element_by_id(value, timeout=10, wait_displayed=False),返回selenium WebElement原生对象 driver.until_find.element_by_id("kw").send_keys("hello world.") # until_find.elements_by_css_selector(value, index=0, timeout=10),返回selenium WebElement原生对象, 默认返回index指定元素 driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 2. 分布式浏览器驱动(selenium grid) ``` # PC A(192.168.1.1) 运行命令: wrhub.exe selenium-server-standalone-3.14.0.jar --port 4444 # PC B(192.168.1.2) 运行命令: wrnode.exe selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.1.1 --hub-port 4444 import webuidriver from webuidriver.remote.SeleniumHatch import SeleniumHatch executors = SeleniumHatch.get_remote_executors("192.168.1.1", 4444) chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities(browser="chrome") driver = webuidriver.Remote(executors[0], desired_capabilities=chrome_capabilities) driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until driver.until_find.element_by_id("kw").send_keys("hello world.") driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 3. 给浏览器添加参数(Options) ``` import webuidriver from webuidriver.chrome.options import ChromeArguments opt = webuidriver.ChromeOptions() opt.add_argument(ChromeArguments.NO_IMAGES) # 禁用图片加载 opt.add_argument(ChromeArguments.HEADLESS) # 无界面模式 opt.add_argument(ChromeArguments.INCOGNITO) # 隐身模式 opt.add_argument(ChromeArguments.WINDOW_SIZE) # 置窗口尺寸(1024x650) opt.add_argument(ChromeArguments.DISABLE_GPU) # 禁用gpu渲染 driver = webuidriver.Chrome(options=opt) # driver = webuidriver.Remote(executor, desired_capabilities=opt.to_capabilities()) ``` ## 详细介绍 介绍如何使用rtsf-web进行YAML格式web UI的自动化测试用例编写,rtsf-web是rtsf框架的插件,所以,基本遵循rtsf的YAML格式约定。 [查看rtsf项目用法](https://github.com/RockFeng0/rtsf) ## 命令介绍 安装完成后,有两个命令用于执行yaml测试用例: - wldriver命令,web localhost driver,一般情况下,都是用这个命令执行yaml用例 - wrdriver命令,web remote driver, 分布式部署的grid模式下,使用该命令运行yaml用例,它可以指定任意hub中的所有node机器,并在所有这些机器上运行用例。 安装完成后,有两个命令用于部署selenium grid模式: - wrhub命令,设置运行该命令的当前pc为一个hub,允许node机器接入 - wrnode命令, 设置运行该命令的当前pc为一个node,需要接入一个hub ### 命令参数介绍 使用命令前,几个注意事项: 1. 执行前,注意下selenium的执行环境, rtsf-web限定了两中浏览器(chrome和firefox) 2. 谷歌浏览器,按照selenium的文档介绍,自行下载chromedriver.exe并配置 3. 火狐浏览器,按照selenium的文档介绍,版本高的,自行下载geckodriver.exe并配置 #### wldriver(web local driver)本地执行 wldriver直接使用selenium webdriver中各个浏览器的驱动,比如webdriver.Chrome等 查看帮助: wldriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False ![wldriver-h.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wldriver-h.png) #### wrhub 简单理解下hub, 玩局域网游戏,我们先要建立主机,那么hub可以理解为主机的概念 查看帮助: wrhub -h 选填: - 设置HUB监听端口,默认是4444: --port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start hub A: 192.168.0.1 wrhub c:\selenium-server-standalone-3.14.0.jar --port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrhub-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrhub-command.png) #### wrnode 简单理解下node, 游戏主机创建好,玩家需要加入,那么node可以理解为加入主机的玩家 查看帮助: wrnode -h 选填: - 设置NODE监听端口,默认是5555: --port 5555 - 执行连接hub的ip,默认是localhost: --hub-ip 127.0.0.1 - 执行连接hub的,默认是4444: --hub-port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start node B: 192.168.0.1 这个node机器的ip跟hub A一样,主机也可以是玩家 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe # start node C: 192.168.0.2 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrnode-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrnode-command.png) #### wrdriver(web remote driver)远程执行 wrdriver是指使用webdriver.Remote驱动各个selenium grid模式下的浏览器进行测试 查看帮助: wrdriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False - 设置HUB IP,默认是localhost: --ip 127.0.0.1 - 设置HUB PORT,默认是4444: --port 4444 ``` # run web remote case. 简单理解, 已连接上主机的玩家,会接收到test_case游戏 wrdriver C:\f_disk\BaiduNetdiskDownload\rtsf-web\tests\data\test_case.yaml --browser chrome --ip 192.168.0.1 --port 4444 ``` 简单理解下,创建了主机,玩家也上线了,wrdriver将指定的游戏异步发送给这些玩家 ![wrdriver-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrdriver-command.png) ## rtsf-web的约定 依据rtsf的yaml约定模板,我们在steps中,为rtsf-http约定了一个规则,以便识别为Web UI自动化测试, 如下 ``` steps: - webdriver: by: value: index: timeout: action: - webdriver: action: ``` > action必填,其他选填; 其中by的值依据selenium为: id、xpath、link text、partial link text、name、tag name、class name、css selector ## rtsf-web常用的yaml函数 ### Web methods --> 用于操作浏览器 %package -n python3-rtsf-web Summary: only for web ui test, base on rtsf Provides: python-rtsf-web BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-rtsf-web Chrome |[chromedriver(.exe)](http://chromedriver.storage.googleapis.com/index.html) Internet Explorer |[IEDriverServer.exe](http://selenium-release.storage.googleapis.com/index.html) Edge |[MicrosoftWebDriver.msi](http://go.microsoft.com/fwlink/?LinkId=619687) Firefox 47+ |[geckodriver(.exe)](https://github.com/mozilla/geckodriver/releases/) PhantomJS |[phantomjs(.exe)](http://phantomjs.org/) Opera |[operadriver(.exe)](https://github.com/operasoftware/operachromiumdriver/releases) Safari |[SafariDriver.safariextz](http://selenium-release.storage.googleapis.com/index.html) **selenium-server** |[selenium-server-standalone.jar](http://selenium-release.storage.googleapis.com/index.html) ### 安装rtsf-web pip install rtsf-web ## 简单使用 使用rtsf-web简化selenium的使用 1. 本地浏览器驱动 ``` import webuidriver driver = webuidriver.Chrome() # 返回的driver 是selenium原生对象 driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until # until_find.element_by_id(value, timeout=10, wait_displayed=False),返回selenium WebElement原生对象 driver.until_find.element_by_id("kw").send_keys("hello world.") # until_find.elements_by_css_selector(value, index=0, timeout=10),返回selenium WebElement原生对象, 默认返回index指定元素 driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 2. 分布式浏览器驱动(selenium grid) ``` # PC A(192.168.1.1) 运行命令: wrhub.exe selenium-server-standalone-3.14.0.jar --port 4444 # PC B(192.168.1.2) 运行命令: wrnode.exe selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.1.1 --hub-port 4444 import webuidriver from webuidriver.remote.SeleniumHatch import SeleniumHatch executors = SeleniumHatch.get_remote_executors("192.168.1.1", 4444) chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities(browser="chrome") driver = webuidriver.Remote(executors[0], desired_capabilities=chrome_capabilities) driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until driver.until_find.element_by_id("kw").send_keys("hello world.") driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 3. 给浏览器添加参数(Options) ``` import webuidriver from webuidriver.chrome.options import ChromeArguments opt = webuidriver.ChromeOptions() opt.add_argument(ChromeArguments.NO_IMAGES) # 禁用图片加载 opt.add_argument(ChromeArguments.HEADLESS) # 无界面模式 opt.add_argument(ChromeArguments.INCOGNITO) # 隐身模式 opt.add_argument(ChromeArguments.WINDOW_SIZE) # 置窗口尺寸(1024x650) opt.add_argument(ChromeArguments.DISABLE_GPU) # 禁用gpu渲染 driver = webuidriver.Chrome(options=opt) # driver = webuidriver.Remote(executor, desired_capabilities=opt.to_capabilities()) ``` ## 详细介绍 介绍如何使用rtsf-web进行YAML格式web UI的自动化测试用例编写,rtsf-web是rtsf框架的插件,所以,基本遵循rtsf的YAML格式约定。 [查看rtsf项目用法](https://github.com/RockFeng0/rtsf) ## 命令介绍 安装完成后,有两个命令用于执行yaml测试用例: - wldriver命令,web localhost driver,一般情况下,都是用这个命令执行yaml用例 - wrdriver命令,web remote driver, 分布式部署的grid模式下,使用该命令运行yaml用例,它可以指定任意hub中的所有node机器,并在所有这些机器上运行用例。 安装完成后,有两个命令用于部署selenium grid模式: - wrhub命令,设置运行该命令的当前pc为一个hub,允许node机器接入 - wrnode命令, 设置运行该命令的当前pc为一个node,需要接入一个hub ### 命令参数介绍 使用命令前,几个注意事项: 1. 执行前,注意下selenium的执行环境, rtsf-web限定了两中浏览器(chrome和firefox) 2. 谷歌浏览器,按照selenium的文档介绍,自行下载chromedriver.exe并配置 3. 火狐浏览器,按照selenium的文档介绍,版本高的,自行下载geckodriver.exe并配置 #### wldriver(web local driver)本地执行 wldriver直接使用selenium webdriver中各个浏览器的驱动,比如webdriver.Chrome等 查看帮助: wldriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False ![wldriver-h.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wldriver-h.png) #### wrhub 简单理解下hub, 玩局域网游戏,我们先要建立主机,那么hub可以理解为主机的概念 查看帮助: wrhub -h 选填: - 设置HUB监听端口,默认是4444: --port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start hub A: 192.168.0.1 wrhub c:\selenium-server-standalone-3.14.0.jar --port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrhub-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrhub-command.png) #### wrnode 简单理解下node, 游戏主机创建好,玩家需要加入,那么node可以理解为加入主机的玩家 查看帮助: wrnode -h 选填: - 设置NODE监听端口,默认是5555: --port 5555 - 执行连接hub的ip,默认是localhost: --hub-ip 127.0.0.1 - 执行连接hub的,默认是4444: --hub-port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start node B: 192.168.0.1 这个node机器的ip跟hub A一样,主机也可以是玩家 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe # start node C: 192.168.0.2 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrnode-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrnode-command.png) #### wrdriver(web remote driver)远程执行 wrdriver是指使用webdriver.Remote驱动各个selenium grid模式下的浏览器进行测试 查看帮助: wrdriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False - 设置HUB IP,默认是localhost: --ip 127.0.0.1 - 设置HUB PORT,默认是4444: --port 4444 ``` # run web remote case. 简单理解, 已连接上主机的玩家,会接收到test_case游戏 wrdriver C:\f_disk\BaiduNetdiskDownload\rtsf-web\tests\data\test_case.yaml --browser chrome --ip 192.168.0.1 --port 4444 ``` 简单理解下,创建了主机,玩家也上线了,wrdriver将指定的游戏异步发送给这些玩家 ![wrdriver-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrdriver-command.png) ## rtsf-web的约定 依据rtsf的yaml约定模板,我们在steps中,为rtsf-http约定了一个规则,以便识别为Web UI自动化测试, 如下 ``` steps: - webdriver: by: value: index: timeout: action: - webdriver: action: ``` > action必填,其他选填; 其中by的值依据selenium为: id、xpath、link text、partial link text、name、tag name、class name、css selector ## rtsf-web常用的yaml函数 ### Web methods --> 用于操作浏览器 %package help Summary: Development documents and examples for rtsf-web Provides: python3-rtsf-web-doc %description help Chrome |[chromedriver(.exe)](http://chromedriver.storage.googleapis.com/index.html) Internet Explorer |[IEDriverServer.exe](http://selenium-release.storage.googleapis.com/index.html) Edge |[MicrosoftWebDriver.msi](http://go.microsoft.com/fwlink/?LinkId=619687) Firefox 47+ |[geckodriver(.exe)](https://github.com/mozilla/geckodriver/releases/) PhantomJS |[phantomjs(.exe)](http://phantomjs.org/) Opera |[operadriver(.exe)](https://github.com/operasoftware/operachromiumdriver/releases) Safari |[SafariDriver.safariextz](http://selenium-release.storage.googleapis.com/index.html) **selenium-server** |[selenium-server-standalone.jar](http://selenium-release.storage.googleapis.com/index.html) ### 安装rtsf-web pip install rtsf-web ## 简单使用 使用rtsf-web简化selenium的使用 1. 本地浏览器驱动 ``` import webuidriver driver = webuidriver.Chrome() # 返回的driver 是selenium原生对象 driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until # until_find.element_by_id(value, timeout=10, wait_displayed=False),返回selenium WebElement原生对象 driver.until_find.element_by_id("kw").send_keys("hello world.") # until_find.elements_by_css_selector(value, index=0, timeout=10),返回selenium WebElement原生对象, 默认返回index指定元素 driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 2. 分布式浏览器驱动(selenium grid) ``` # PC A(192.168.1.1) 运行命令: wrhub.exe selenium-server-standalone-3.14.0.jar --port 4444 # PC B(192.168.1.2) 运行命令: wrnode.exe selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.1.1 --hub-port 4444 import webuidriver from webuidriver.remote.SeleniumHatch import SeleniumHatch executors = SeleniumHatch.get_remote_executors("192.168.1.1", 4444) chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities(browser="chrome") driver = webuidriver.Remote(executors[0], desired_capabilities=chrome_capabilities) driver.get("http://www.baidu.com") driver.web_driver_wait(timeout=10).until(lambda dr: dr.title == "百度一下,你就知道") # WebDriverWait.until driver.until_find.element_by_id("kw").send_keys("hello world.") driver.until_find.elements_by_css_selector("input.bg.s_btn").click() driver.close() driver.quit() ``` 3. 给浏览器添加参数(Options) ``` import webuidriver from webuidriver.chrome.options import ChromeArguments opt = webuidriver.ChromeOptions() opt.add_argument(ChromeArguments.NO_IMAGES) # 禁用图片加载 opt.add_argument(ChromeArguments.HEADLESS) # 无界面模式 opt.add_argument(ChromeArguments.INCOGNITO) # 隐身模式 opt.add_argument(ChromeArguments.WINDOW_SIZE) # 置窗口尺寸(1024x650) opt.add_argument(ChromeArguments.DISABLE_GPU) # 禁用gpu渲染 driver = webuidriver.Chrome(options=opt) # driver = webuidriver.Remote(executor, desired_capabilities=opt.to_capabilities()) ``` ## 详细介绍 介绍如何使用rtsf-web进行YAML格式web UI的自动化测试用例编写,rtsf-web是rtsf框架的插件,所以,基本遵循rtsf的YAML格式约定。 [查看rtsf项目用法](https://github.com/RockFeng0/rtsf) ## 命令介绍 安装完成后,有两个命令用于执行yaml测试用例: - wldriver命令,web localhost driver,一般情况下,都是用这个命令执行yaml用例 - wrdriver命令,web remote driver, 分布式部署的grid模式下,使用该命令运行yaml用例,它可以指定任意hub中的所有node机器,并在所有这些机器上运行用例。 安装完成后,有两个命令用于部署selenium grid模式: - wrhub命令,设置运行该命令的当前pc为一个hub,允许node机器接入 - wrnode命令, 设置运行该命令的当前pc为一个node,需要接入一个hub ### 命令参数介绍 使用命令前,几个注意事项: 1. 执行前,注意下selenium的执行环境, rtsf-web限定了两中浏览器(chrome和firefox) 2. 谷歌浏览器,按照selenium的文档介绍,自行下载chromedriver.exe并配置 3. 火狐浏览器,按照selenium的文档介绍,版本高的,自行下载geckodriver.exe并配置 #### wldriver(web local driver)本地执行 wldriver直接使用selenium webdriver中各个浏览器的驱动,比如webdriver.Chrome等 查看帮助: wldriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False ![wldriver-h.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wldriver-h.png) #### wrhub 简单理解下hub, 玩局域网游戏,我们先要建立主机,那么hub可以理解为主机的概念 查看帮助: wrhub -h 选填: - 设置HUB监听端口,默认是4444: --port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start hub A: 192.168.0.1 wrhub c:\selenium-server-standalone-3.14.0.jar --port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrhub-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrhub-command.png) #### wrnode 简单理解下node, 游戏主机创建好,玩家需要加入,那么node可以理解为加入主机的玩家 查看帮助: wrnode -h 选填: - 设置NODE监听端口,默认是5555: --port 5555 - 执行连接hub的ip,默认是localhost: --hub-ip 127.0.0.1 - 执行连接hub的,默认是4444: --hub-port 4444 - 指定java.exe路径,默认(已配置java环境变量): --java-path java ``` # start node B: 192.168.0.1 这个node机器的ip跟hub A一样,主机也可以是玩家 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe # start node C: 192.168.0.2 wrnode c:\selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 192.168.0.1 --hub-port 4444 --java-path C:\tmp\Java\jdk1.8.0_161\bin\java.exe ``` ![wrnode-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrnode-command.png) #### wrdriver(web remote driver)远程执行 wrdriver是指使用webdriver.Remote驱动各个selenium grid模式下的浏览器进行测试 查看帮助: wrdriver -h 选填: - 设置浏览器(chrome、firefox),默认是谷歌浏览器: --browser chrome - 设置浏览器下载文件的路径,默认值是浏览器的设置: --download-path c:\downloads - 设置火狐是否使用geckodriver.exe,默认值是False: --marionette False - 设置HUB IP,默认是localhost: --ip 127.0.0.1 - 设置HUB PORT,默认是4444: --port 4444 ``` # run web remote case. 简单理解, 已连接上主机的玩家,会接收到test_case游戏 wrdriver C:\f_disk\BaiduNetdiskDownload\rtsf-web\tests\data\test_case.yaml --browser chrome --ip 192.168.0.1 --port 4444 ``` 简单理解下,创建了主机,玩家也上线了,wrdriver将指定的游戏异步发送给这些玩家 ![wrdriver-command.png](https://github.com/RockFeng0/img-folder/blob/master/rtsf-web-img/wrdriver-command.png) ## rtsf-web的约定 依据rtsf的yaml约定模板,我们在steps中,为rtsf-http约定了一个规则,以便识别为Web UI自动化测试, 如下 ``` steps: - webdriver: by: value: index: timeout: action: - webdriver: action: ``` > action必填,其他选填; 其中by的值依据selenium为: id、xpath、link text、partial link text、name、tag name、class name、css selector ## rtsf-web常用的yaml函数 ### Web methods --> 用于操作浏览器 %prep %autosetup -n rtsf-web-1.3.5 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-rtsf-web -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 1.3.5-1 - Package Spec generated