Commit f6accf60 authored by gaotao's avatar gaotao

自动化测试1.0

parent b92a0afd
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
[browserType] [browserType]
#browserName = Firefox #browserName = Firefox
browserName = Chrome browserName = Chrome
driverPath = r"C:\Users\80980\znfz_autotest\driver\chromedriver.exe"
#browserName = IE #browserName = IE
[testUrl] [testUrl]
......
...@@ -4,7 +4,7 @@ from engine.logger import Logger ...@@ -4,7 +4,7 @@ from engine.logger import Logger
import os,time import os,time
def get_engine(file, url): def get_engine(file, url=None, login=True):
def inner(f): def inner(f):
def wapper(*args, **kwargs): def wapper(*args, **kwargs):
...@@ -15,7 +15,7 @@ def get_engine(file, url): ...@@ -15,7 +15,7 @@ def get_engine(file, url):
image_path = os.path.join(image_path, log_name) image_path = os.path.join(image_path, log_name)
image_path += '.png' image_path += '.png'
engine = BrowserEngine(image_path, log_name, url.upper()) engine = BrowserEngine(url, login, log_name)
ret = f(engine, *args, **kwargs) ret = f(engine, *args, **kwargs)
......
...@@ -7,19 +7,21 @@ import time, os, re ...@@ -7,19 +7,21 @@ import time, os, re
class BrowserEngine(ReadConfig): class BrowserEngine(ReadConfig):
__log_name = "browser_engine" __log_name = "browser_engine"
def __init__(self, image_path, log_name=__log_name, url='URL'): def __init__(self, url, login, log_name=__log_name):
super().__init__(log_name) super().__init__(log_name)
# self.__logger = super().get_logger() # self.__logger = super().get_logger()
self._log_name = log_name self._log_name = log_name
self._browser = '' self._browser = ''
self.url = url self.url = url
self._driver_path = r"C:\Users\80980\znfz_autotest\driver\chromedriver.exe" self.login = login # 是否需要登录
self.image_path = image_path self._driver_path = self.get_browserType('driverPath')
# self.image_path = image_path
self.driver = webdriver.Chrome(self._driver_path) self.driver = webdriver.Chrome(self._driver_path)
self.open_browser() self.open_browser()
self.login_znfz() self.login_znfz()
self.format_url() # self.format_url()
self.get_page(self.url)
self.driver.xpath = self.driver.find_elements_by_xpath self.driver.xpath = self.driver.find_elements_by_xpath
def open_browser(self): def open_browser(self):
...@@ -31,7 +33,7 @@ class BrowserEngine(ReadConfig): ...@@ -31,7 +33,7 @@ class BrowserEngine(ReadConfig):
self.driver.get(url) self.driver.get(url)
self.logger.info("Open url: %s" % url) self.logger.info("Open url: %s" % url)
time.sleep(1) time.sleep(0.5)
self.driver.maximize_window() self.driver.maximize_window()
self.logger.info("Maximize the current window.") self.logger.info("Maximize the current window.")
self.driver.implicitly_wait(10) self.driver.implicitly_wait(10)
...@@ -40,7 +42,7 @@ class BrowserEngine(ReadConfig): ...@@ -40,7 +42,7 @@ class BrowserEngine(ReadConfig):
return self.driver return self.driver
def login_znfz(self): def login_znfz(self):
if self.url == 'LOGIN': if self.login is False:
return return
username = self.get_userInfo('username') username = self.get_userInfo('username')
password = self.get_userInfo('password') password = self.get_userInfo('password')
...@@ -52,7 +54,7 @@ class BrowserEngine(ReadConfig): ...@@ -52,7 +54,7 @@ class BrowserEngine(ReadConfig):
self.logger.info("tags.text:%s" % tags.text) self.logger.info("tags.text:%s" % tags.text)
# print(tags.text) # print(tags.text)
tags.click() tags.click()
time.sleep(1) time.sleep(0.5)
self.driver.find_element_by_xpath('//*[@id="rc-tree-select-list_1"]/ul/li/ul/li[3]/span[1]').click() self.driver.find_element_by_xpath('//*[@id="rc-tree-select-list_1"]/ul/li/ul/li[3]/span[1]').click()
...@@ -61,12 +63,12 @@ class BrowserEngine(ReadConfig): ...@@ -61,12 +63,12 @@ class BrowserEngine(ReadConfig):
self.logger.info("tags2.text:%s" % tags2.text) self.logger.info("tags2.text:%s" % tags2.text)
# print(tags2.text) # print(tags2.text)
tags2.click() tags2.click()
time.sleep(1) time.sleep(0.5)
self.driver.find_element_by_xpath('//*[@id="username"]').send_keys(username) self.driver.find_element_by_xpath('//*[@id="username"]').send_keys(username)
self.driver.find_element_by_xpath('//*[@id="password"]').send_keys(password) self.driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
self.driver.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/form/div[4]/div/div/span/button').click() self.driver.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/form/div[4]/div/div/span/button').click()
return self.driver time.sleep(0.5)
def format_url(self): def format_url(self):
url_key = self.url if self.url != 'LOGIN' else 'URL' url_key = self.url if self.url != 'LOGIN' else 'URL'
...@@ -79,9 +81,9 @@ class BrowserEngine(ReadConfig): ...@@ -79,9 +81,9 @@ class BrowserEngine(ReadConfig):
else: else:
self.INDEXURL = url self.INDEXURL = url
def get_page(self, url):
def get_page(self,url): if url is None:
return
self.logger.info("the testUrl : %s" % url) self.logger.info("the testUrl : %s" % url)
self.driver.get(url) self.driver.get(url)
......
...@@ -17,7 +17,7 @@ def teardown_function(): ...@@ -17,7 +17,7 @@ def teardown_function():
@pytest.mark.login @pytest.mark.login
@get_engine(__file__, 'LOGIN') @get_engine(__file__,login=False)
def test_login(engine): def test_login(engine):
username = engine.get_userInfo('username') username = engine.get_userInfo('username')
password = engine.get_userInfo('password') password = engine.get_userInfo('password')
...@@ -50,7 +50,7 @@ def test_login(engine): ...@@ -50,7 +50,7 @@ def test_login(engine):
@pytest.mark.login @pytest.mark.login
@get_engine(__file__, 'LOGIN') @get_engine(__file__,login=False)
def test_login_pwerr(engine): def test_login_pwerr(engine):
username = engine.get_userInfo('username') username = engine.get_userInfo('username')
password = engine.get_userInfo('password') password = engine.get_userInfo('password')
...@@ -98,7 +98,7 @@ def test_login_pwerr(engine): ...@@ -98,7 +98,7 @@ def test_login_pwerr(engine):
@pytest.mark.login @pytest.mark.login
@get_engine(__file__, 'LOGIN') @get_engine(__file__,login=False)
def test_login_usererr(engine): def test_login_usererr(engine):
username = engine.get_userInfo('username') username = engine.get_userInfo('username')
password = engine.get_userInfo('password') password = engine.get_userInfo('password')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment