|
一款基于unittest全功能测试框架python源码,支持Web/APP/API测试
⭐ web/app/api全功能测试框架 ⭐ 提供脚手架快速创建自动化项目 ⭐ 集成XTestRunner测试报告,现代美观 ⭐ 提供丰富的断言 ⭐ 提供强大的数据驱动 ⭐ 平台化支持 Install
1、查看帮助:- seldom --help
- Usage: seldom [OPTIONS]
- seldom CLI.
- Options:
- --version Show version.
- --project-api TEXT Create an API automation test project.
- --project-app TEXT Create an App automation test project.
- --project-web TEXT Create an Web automation test project.
- -cc, --clear-cache BOOLEAN Clear all caches of seldom.
- -p, --path TEXT Run test case file path.
- -c, --collect / -nc, --no-collect
- Collect project test cases. Need the
- `--path`.
- -l, --level [data|method] Parse the level of use cases. Need the
- --path.
- -j, --case-json TEXT Test case files. Need the `--path`.
- -e, --env TEXT Set the Seldom run environment `Seldom.env`.
- -b, --browser [chrome|firefox|ie|edge|safari]
- The browser that runs the Web UI automation
- tests. Need the `--path`.
- -u, --base-url TEXT The base-url that runs the HTTP automation
- tests. Need the `--path`.
- -d, --debug / -nd, --no-debug Debug mode. Need the `--path`.
- -rr, --rerun INTEGER The number of times a use case failed to run
- again. Need the `--path`.
- -r, --report TEXT Set the test report for output. Need the
- `--path`.
- -m, --mod TEXT Run tests modules, classes or even
- individual test methods from the command
- line.
- -ll, --log-level [TRACE|DEBUG|INFO|SUCCESS|WARNING|ERROR]
- Set the log level.
- -h2c, --har2case TEXT HAR file converts an seldom test case.
- -s2c, --swagger2case TEXT Swagger file converts an seldom test case.
- --api-excel TEXT Run the api test cases in the excel file.
- --help Show this message and exit.
复制代码 2、创建项目:
- > seldom --project-api myapi # API automation test project.
- > seldom --project-app myapp # or App automation test project.
- > seldom --project-web myweb # or Web automation test project.
复制代码 目录结构如下:
- myweb/
- ├── test_dir/
- │ ├── __init__.py
- │ └── test_sample.py
- ├── test_data/
- │ └── data.json
- ├── reports/
- └── confrun.py
复制代码- test_dir/ 测试用例目录。
- test_data/ 测试数据文件目录。
- reports/ 测试报告目录。
- confrun.py 运行配置文件。
3、运行项目: ❌️ 在PyCharm中右键执行。 ✔️ 通过命令行工具执行。
4、查看报告 你可以到 mypro\reports\ 目录查看测试报告。
一款基于unittest全功能测试框架python源码,支持Web/APP/API测试
提供了丰富实例,帮你快速了解seldom的用法。 Web UI 测试
- import seldom
- from seldom import Steps
- class BaiduTest(seldom.TestCase):
- def test_case_one(self):
- """a simple test case """
- self.open("https://www.baidu.com")
- self.type(id_="kw", text="seldom")
- self.click(css="#su")
- self.assertTitle("seldom_百度搜索")
- def test_case_two(self):
- """method chaining """
- Steps().open("https://www.baidu.com").find("#kw").type("seldom").find("#su").click()
- self.assertTitle("seldom_百度搜索")
- if __name__ == '__main__':
- seldom.main(browser="chrome")
复制代码说明: - seldom.main() 通过 browser 指定运行的浏览器。
HTTP 测试seldom 2.0 支持HTTP测试 - import seldom
- class TestRequest(seldom.TestCase):
- def test_put_method(self):
- self.put('/put', data={'key': 'value'})
- self.assertStatusCode(200)
- def test_post_method(self):
- self.post('/post', data={'key': 'value'})
- self.assertStatusCode(200)
- def test_get_method(self):
- payload = {'key1': 'value1', 'key2': 'value2'}
- self.get("/get", params=payload)
- self.assertStatusCode(200)
- def test_delete_method(self):
- self.delete('/delete')
- self.assertStatusCode(200)
- if __name__ == '__main__':
- seldom.main(base_url="http://httpbin.org")
复制代码说明: - seldom.main() 通过 base_url 指定接口项目基本URL地址。
App 测试seldom 3.0 支持App测试 - import seldom
- from seldom.appium_lab.keyboard import KeyEvent
- from seldom.appium_lab.android import UiAutomator2Options
- class TestBingApp(seldom.TestCase):
- def start(self):
- self.ke = KeyEvent(self.driver)
- def test_bing_search(self):
- """
- test bing App search
- """
- self.sleep(2)
- self.click(id_="com.microsoft.bing:id/sa_hp_header_search_box")
- self.type(id_="com.microsoft.bing:id/sapphire_search_header_input", text="seldomQA")
- self.ke.press_key("ENTER")
- self.sleep(1)
- elem = self.get_elements(xpath='//android.widget.TextView')
- self.assertIn("seldom", elem[0].text.lower())
- if __name__ == '__main__':
- capabilities = {
- 'deviceName': 'ELS-AN00',
- 'automationName': 'UiAutomator2',
- 'platformName': 'Android',
- 'appPackage': 'com.microsoft.bing',
- 'appActivity': 'com.microsoft.sapphire.app.main.MainSapphireActivity',
- 'noReset': True,
- }
- options = UiAutomator2Options().load_capabilities(capabilities)
- seldom.main(app_server="http://127.0.0.1:4723", app_info=options, debug=True)
复制代码说明: - seldom.main() 通过 app_info 指定App信息; app_server 指定appium server 地址。
附件中包含源码及一个基于seldom框架的自动化项目源码

链接:https://pan.quark.cn/s/19a60626c81e
提取码下载:
|
|