diff options
Diffstat (limited to 'python-rtsf-web.spec')
-rw-r--r-- | python-rtsf-web.spec | 474 |
1 files changed, 474 insertions, 0 deletions
diff --git a/python-rtsf-web.spec b/python-rtsf-web.spec new file mode 100644 index 0000000..272a9f8 --- /dev/null +++ b/python-rtsf-web.spec @@ -0,0 +1,474 @@ +%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 + +#### 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 +``` + +#### 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 +``` + +#### 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将指定的游戏异步发送给这些玩家 + +## 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 + +#### 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 +``` + +#### 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 +``` + +#### 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将指定的游戏异步发送给这些玩家 + +## 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 + +#### 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 +``` + +#### 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 +``` + +#### 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将指定的游戏异步发送给这些玩家 + +## 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 <Python_Bot@openeuler.org> - 1.3.5-1 +- Package Spec generated |