self.open("https://www.baidu.com/") self.move_to_element(link_text="设置") self.click(link_text="搜索设置") self.select(css="#nr", value='20') self.click(class_name="prefpanelgo") self.sleep(2) self.assertAlert("已经记录下您的使用偏好") self.accept_alert() @ddt.data([ (1, 'seldom'), (2, 'selenium'), (3, 'unittest'), ]) def test_baidu(self, name, search_key): """ used parameterized test :param name: case name :param search_key: search keyword :return: """ self.open("https://www.baidu.com") self.type(id_="kw", text=search_key) self.click(css="#su") self.assertTitle(search_key) if __name__ == '__main__': seldom.main("test_first_demo.py", debug=True)
import seldom if __name__ == '__main__': # run test # seldom.main("./test_dir/") seldom.main("./test_dir/test_sample.py")
import seldom if __name__ == '__main__': seldom.main(path="./test_dir", browser="firefox", title="百度测试用例", description="测试环境:Firefox", rerun=0, xmlrunner=True) ''' 说明: path : 指定测试目录。 browser: 指定浏览,默认chrome。 title : 指定测试项目标题。 description : 指定测试环境描述。 debug : debug模式,设置为True不生成测试用例。 rerun : 测试失败重跑 xmlrunner: 设置为 True ,生成XML格式的报告 '''
import seldom if __name__ == '__main__': # seldom.main(path="./test_dir", # browser="firefox", # title="百度测试用例", # description="测试环境:Firefox", # rerun=0) seldom.main(path="./test_dir", debug=False, rerun=1) ''' 说明: path : 指定测试目录。 browser: 指定浏览,默认chrome。 report:日志报告文件名称&格式,若为空,则默认report+时间+.html title : 指定测试报告中标题。 description : 指定测试报告中环境描述。 debug : debug模式,设置为True不生成HTML测试报告。 rerun : 测试失败重跑次数,默认为0 save_last_run:默认为False,若为True,则只保存最后一次运行的结果 driver_path:默认为None,指定浏览器驱动路径 param grid_url:指定远程执行用例ip地址 '''
self.assertText("百度一下") print('用例说明:test03') def test04(self): """测试示例4""" self.dr.search_input(key='百度一下') self.dr.search_button() self.assertText("百度一下") print('用例说明:test04') def test05(self): """测试示例5""" self.dr.search_input(key='百度一下') self.dr.search_button() self.assertText("百度一下") print('用例说明:test05') if __name__ == '__main__': ChromeConfig.headless = False ChromeConfig.executable_path = osSystem( '../') # 默认根据操作系统自行选择Chromedriver驱动 seldom.main(path='../test_case/test01_login.py', browser='chrome', debug=False, rerun=0, timeout=10, save_last_run=True, title='自动化测试报告', description='测试环境:Chrome')
import seldom if __name__ == '__main__': # 运行测试用例 seldom.main(path="./test_dir/test_sample.py") ''' seldom.main() # 默认运行当前测试文件 seldom.main(path="./") # 当前目录下的所有测试文件 seldom.main(path="./test_dir/") # 指定目录下的所有测试文件 seldom.main(path="./test_dir/test_sample.py") # 指定目录下的测试文件 seldom.main(path="./", browser="chrome", report=None, title="百度测试用例", description="测试环境:chrome", debug=False, rerun=0, save_last_run=False, driver_path=None, grid_url=None, timeout=None ) 说明: path : 指定测试目录或文件。 browser : 指定测试浏览器,默认Chrome。 report : 自定义测试报告的名称,默认格式为2020_04_04_11_55_20_result.html title : 指定测试报告标题。 description : 指定测试报告描述。
import seldom class YouTest(seldom.TestCase): def test_case(self): """a simple test case """ self.open("https://www.baidu.com") self.type(id_="kw", text="seldom") self.click(css="#su") self.assertTitle("seldom") if __name__ == '__main__': seldom.main("test_sample.py")
import seldom if __name__ == '__main__': seldom.main(path="./test_dir", browser="chrome", title="百度测试用例", description="测试环境:Firefox", rerun=0) ''' 说明: path : 指定测试目录。 browser: 指定浏览,默认chrome。 title : 指定测试项目标题。 description : 指定测试环境描述。 debug : debug模式,设置为True不生成测试用例。 rerun : 测试失败重跑 '''
import seldom if __name__ == '__main__': seldom.main( path="./test_dir/", base_url="http://httpbin.org", # test_http_demo.py browser="chrome", title="seldom自带demo", tester="虫师", description=["Browser: Chrome", "API: http://httpbin.org"], rerun=0) ''' 说明: path : 指定测试目录。 browser : Web测试,指定浏览器,默认chrome。 base_url : Http测试,指定接口地址。 title : 指定测试项目标题。 tester : 指定测试人员。 description : 指定测试环境描述。 debug : debug模式,设置为True不生成测试用例。 rerun : 测试失败重跑 '''
password = '******' # 发送邮件密码 host = 'smtp.126.com' # host路径 to = '*****@*****.**' # 邮件接受者,如有多个','英文逗号分割 smtp = SMTP(user=user, password=password, host=host) time.sleep(3) smtp.sender(to=to) """ import seldom from models import osSystem from models.mail import sendMail # 配置e-mail信息 user = '******' # 发送者邮件账号 password = '******' # 发送者邮件授权码 host = 'smtp.126.com' # host路径 to = '*****@*****.**' # 邮件接收者,如有多个','英文逗号分割 if __name__ == '__main__': seldom.main( path='./test_case/test01_login.py', browser='chrome_headless', driver_path=osSystem(), # 默认根据操作系统自行选择Chromedriver驱动 debug=False, rerun=0, timeout=10, save_last_run=True, title='自动化测试报告', description='测试环境:Chrome') """mail邮件发送;关闭注释启用""" sendMail(user, password, host, to)
import seldom from selenium import webdriver if __name__ == '__main__': seldom.main(path="./test_dir/test_gl_login.py", browser="chrome", title="格力测试", description="测试环境:Chrome 80.0.0", rerun=0, save_last_run=False) ''' 说明: path : 指定测试目录。 browser: 指定浏览,默认chrome。 title : 指定测试项目标题。 description : 指定测试环境描述。 debug : debug模式,设置为True不生成测试用例。 rerun : 测试失败重跑 '''
> pip install poium=1.0.4 ``` """ import seldom from seldom import Seldom from poium import Page, Element class BaiduPage(Page): """baidu page""" search_input = Element(id_="kw") search_button = Element(id_="su") class BaiduTest(seldom.TestCase): """Baidu search test case""" def test_case(self): """ A simple test """ page = BaiduPage(Seldom.driver) page.open("https://www.baidu.com") page.search_input.send_keys("seldom") page.search_button.click() self.assertTitle("seldom_百度搜索") if __name__ == '__main__': seldom.main(browser='chrome', debug=True)
from poium import Page, PageElement class BaiduPage(Page): """baidu page""" search_input = PageElement(id_="kw") search_button = PageElement(id_="su") class BaiduTest(seldom.TestCase): """Baidu serach test case""" def test_case(self): """ A simple test """ page = BaiduPage(Seldom.driver) # page = BaiduPage(self.driver) page.get("https://www.baidu.com") page.search_input = "seldom" page.search_button.click() self.assertTitle("seldom_百度搜索") if __name__ == '__main__': seldom.main( browser='chrome', driver_path=r'/Users/yuanbaolei/work/GitHub/PoiumAutoTest/driver/chromedriver', debug=True)
import seldom if __name__ == '__main__': seldom.main( path="./test_dir", base_url="http://httpbin.org", # test_http_demo.py browser="chrome", title="百度测试用例", description="测试环境:Chrome", rerun=0) ''' 说明: path : 指定测试目录。 browser: 指定浏览,默认chrome。 title : 指定测试项目标题。 description : 指定测试环境描述。 debug : debug模式,设置为True不生成测试用例。 rerun : 测试失败重跑 '''
https://github.com/SeldomQA/poium ``` > pip install poum ``` """ import seldom from poium import Page, PageElement class BaiduPage(Page): """baidu page""" search_input = PageElement(id_="kw") search_button = PageElement(id_="su") class BaiduTest(seldom.TestCase): """Baidu serach test case""" def test_case(self): """ A simple test """ page = BaiduPage(self.driver) page.get("https://www.baidu.com") page.search_input = "seldom" page.search_button.click() self.assertTitle("seldom_百度搜索") if __name__ == '__main__': seldom.main("test_po_demo.py", debug=True)
import seldom if __name__ == '__main__': # run test seldom.main("../my_poium/test_dir/") #seldom.main("./test_dir/test_sample.py")
import seldom if __name__ == '__main__': # seldom.main(path="./test_dir", # browser="firefox", # title="百度测试用例", # description="测试环境:Firefox", # rerun=0) seldom.main(test_type='android', path="./test_dir", debug=False, rerun=1) ''' 说明: test_type : 测试类型android/web test_package : 测试包名,用于校验测试设备是否安装对应的应用,进程是否存活 path : 指定测试目录。 browser: 指定浏览,默认chrome。 report:日志报告文件名称&格式,若为空,则默认report+时间+.html,并且在当前生成reports文件夹 title : 指定测试报告中标题。 description : 指定测试报告中环境描述。 debug : debug模式,设置为True不生成HTML测试报告。 rerun : 测试失败重跑次数,默认为0 save_last_run:默认为False,若为True,则只保存最后一次运行的结果 driver_path:默认为None,指定浏览器驱动路径 param grid_url:指定远程执行用例ip地址 '''
import seldom from seldom import testdata class FileDataTest(seldom.TestCase): """ Randomly generate test data """ def test_testdata(self): """ used testdata test """ self.open("https://www.runoob.com/try/try.php?filename=tryhtml_input") self.switch_to_frame(id_="iframeResult") self.type(name="firstname", text=testdata.first_name()) self.type(name="lastname", text=testdata.last_name()) self.sleep(1) if __name__ == '__main__': seldom.main(browser="gc", debug=True)
``` """ import seldom import time from poium import Page, PageElement class BaiduPage(Page): """baidu page""" search_input = PageElement(id_="kw") search_button = PageElement(id_="su") class BaiduTest(seldom.TestCase): """Baidu serach test case""" def test_case(self): """ A simple test """ page = BaiduPage(self.driver) page.get("https://www.baidu.com") page.search_input = "seldom" page.search_button.click() time.sleep(1) self.assertTitle("seldom_百度搜索") if __name__ == '__main__': seldom.main()
(3, 'unittest'), ]) def test_baidu(self, name, search_key): """ used parameterized test :param name: case name :param search_key: search keyword """ self.open("https://www.baidu.com") self.type(id_="kw", text=search_key) self.click(css="#su") self.assertInTitle(search_key) class W3CTest(seldom.TestCase): """form input test case""" @file_data(file=JSON_DATA, key="name") def test_name(self, firstname, lastname): """ used file_data test """ self.open("https://www.w3school.com.cn/tiy/t.asp?f=html_form_text") self.switch_to_frame(id_="iframeResult") self.type(name="firstname", text=firstname) self.type(name="lastname", text=lastname) self.sleep(2) if __name__ == '__main__': seldom.main(debug=True)
self.assertEqual(self.response["form"]["key1"], "value1") self.assertEqual(self.response["form"]["key2"], "value2") def test_data_dependency(self): """ Test for interface data dependencies """ headers = {"X-Account-Fullname": "bugmaster"} self.get("/get", headers=headers) self.assertStatusCode(200) username = self.response["headers"]["X-Account-Fullname"] self.post("/post", data={'username': username}) self.assertStatusCode(200) class TestDDT(seldom.TestCase): @data([("key1", 'value1'), ("key2", 'value2'), ("key3", 'value3')]) def test_data(self, key, value): """ Data-Driver Tests """ payload = {key: value} self.post("/post", data=payload) self.assertStatusCode(200) self.assertEqual(self.response["form"][key], value) if __name__ == '__main__': seldom.main(base_url="http://httpbin.org", debug=True)