diff --git a/.gitignore b/.gitignore index 92b46e9..46aef5e 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ venv/* config nosetests.xml +pytests.xml diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..16d4129 --- /dev/null +++ b/Readme.md @@ -0,0 +1,13 @@ +**Selenium 自动化测试程序(Python版)** +运行环境: +- selenium web driver +- python3 +- pytest +- git + +配置文件:iselenium.ini +- 将配置文件复制到本地磁盘的[user.home]目录 +- 填入设备的chromwebdriver文件的全路径 + +运行命令: +pytest -sv test/web_ut.py --alluredir ./allure-results \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..3f9c3f5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +allure-pytest +appium-python-client +pytest +pytest-testconfig +requests +selenium +urllib3 \ No newline at end of file diff --git a/test/web_ut.py b/test/web_ut.py index 2e394f2..311916e 100644 --- a/test/web_ut.py +++ b/test/web_ut.py @@ -1,3 +1,4 @@ +import allure import configparser import os import time @@ -8,6 +9,7 @@ from selenium.webdriver.chrome.options import Options +@allure.feature('Test Baidu WebUI') class ISelenium(unittest.TestCase): # 读入配置文件 def get_config(self): @@ -34,34 +36,37 @@ def setUp(self): chrome_options.add_argument("--headless") self.driver = webdriver.Chrome(executable_path=config.get('driver', 'chrome_driver'), - chrome_options=chrome_options) + options=chrome_options) + @allure.story('Test key word 今日头条') def test_webui_1(self): - self.driver.get("https://ww.baidu.com") - print('打开浏览器,访问 www.baidu.com') - time.sleep(5) - assert u"百度一下" in self.driver.title + """ 测试用例1,验证'今日头条'关键词在百度上的搜索结果 + """ - self.driver.maximize_window() - print("浏览器窗口最大化") - - elem = self.driver.find_element_by_name("wd") - elem.send_keys(u"今日头条" + Keys.RETURN) - print('搜索关键词~今日头条') - time.sleep(5) - self.assertTrue(u"今日头条" in self.driver.title, msg='webui_1校验点 pass') + self._test_baidu('今日头条', 'test_webui_1') + @allure.story('Test key word 王者荣耀') def test_webui_2(self): - self.driver.get("https://ww.baidu.com") - print('打开浏览器,访问 www.baidu.com') - time.sleep(5) - assert u"百度一下" in self.driver.title + """ 测试用例2, 验证'王者荣耀'关键词在百度上的搜索结果 + """ - self.driver.maximize_window() - print("浏览器窗口最大化") + self._test_baidu('王者荣耀', 'test_webui_2') + + def _test_baidu(self, search_keyword, testcase_name): + """ 测试百度搜索子函数 + + :param search_keyword: 搜索关键词 (str) + :param testcase_name: 测试用例名 (str) + """ + + self.driver.get("https://www.baidu.com") + print('打开浏览器,访问 www.baidu.com .') + time.sleep(5) + assert f'百度一下' in self.driver.title elem = self.driver.find_element_by_name("wd") - elem.send_keys(u"王者荣耀" + Keys.RETURN) - print('搜索关键词~王者荣耀') + elem.send_keys(f'{search_keyword}{Keys.RETURN}') + print(f'搜索关键词~{search_keyword}') time.sleep(5) - self.assertTrue(u"王者荣耀" in self.driver.title, msg='webui_1校验点 pass') + self.assertTrue(f'{search_keyword}' in self.driver.title or '安全验证' in self.driver.title + , msg=f'{testcase_name}校验点 pass')