POM UI自动化
1、目录结构

2、代码
basePage.py
# -*- coding: utf-8 -*-
import sys
class Page(object):
def __init__(self,driver,base_url='https://www.baidu.com'):
self.driver=driver
self.base_url=base_url
self.timeout=30
def find_element(self,*loc):
return self.driver.find_element(*loc)
def input_text(self,loc,text):
self.find_element(*loc).send_keys(text)
def click(self, loc):
self.find_element(*loc).click()
def get_title(self):
return self.driver.title
searchPage.py
# -*- coding: utf-8 -*-
# @Author : wangyafeng
import sys
from selenium import webdriver
from pages.basePage import Page
class SearchPage(Page):
def __init__(self, driver, base_url=u"http://www.baidu.com"):
Page.__init__(self, driver, base_url)
def gotoBaiduHomePage(self):
print('打开首页: ', self.base_url)
self.driver.get(self.base_url)
def input_search_text(self, text="开源优测"):
print("输入搜索关键字: 开源优测 ")
self.input_text(self.search_input, text)
def click_search_btn(self):
print("点击 百度一下 按钮")
self.click(self.search_button)
testSearchPage.py
# -*- coding: utf-8 -*-
# @Author : wangyafeng
import unittest,sys
from selenium import webdriver
from pages.searchPage import SearchPage
class TestSearchPage(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def testSearch(self):
driver = self.driver
# 百度网址
url = "http://www.baidu.com"
# 搜索文本
text = "开源优测"
# 期望验证的标题
assert_title = "开源优测_百度搜索"
print(assert_title)
search_Page = SearchPage(driver, url)
def tearDown(self):
self.driver.quit()
main.py
1 # -*- coding: utf-8 -*- 2 # @Time : 2018/3/19 0019 14:46 3 # @Author : wangyafeng 4 # @Email : 279949848@qq.com 5 6 import unittest,sys 7 import time 8 9 import HTMLTestRunner 10 from testcase.testSearchPage import TestSearchPage 11 12 13 if __name__ == '__main__': 14 testunit = unittest.TestSuite() 15 testunit.addTest(TestSearchPage('testSearch')) 16 17 # 定义报告输出路径 18 now = time.strftime("%Y-%m-%d %H-%M-%S") 19 htmlPath = './' + now + 'test_result.html' 20 fp = open(htmlPath, "wb") 21 22 runner = HTMLTestRunner.HTMLTestRunner(stream=fp, 23 title="百度测试", 24 description="测试用例结果") 25 26 runner.run(testunit) 27 fp.close()

浙公网安备 33010602011771号