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()
View Code

 

posted @ 2018-03-19 16:04  王亚锋  阅读(697)  评论(0)    收藏  举报