Commit f6accf60 authored by gaotao's avatar gaotao

自动化测试1.0

parent b92a0afd
......@@ -2,6 +2,7 @@
[browserType]
#browserName = Firefox
browserName = Chrome
driverPath = r"C:\Users\80980\znfz_autotest\driver\chromedriver.exe"
#browserName = IE
[testUrl]
......
......@@ -4,7 +4,7 @@ from engine.logger import Logger
import os,time
def get_engine(file, url):
def get_engine(file, url=None, login=True):
def inner(f):
def wapper(*args, **kwargs):
......@@ -15,7 +15,7 @@ def get_engine(file, url):
image_path = os.path.join(image_path, log_name)
image_path += '.png'
engine = BrowserEngine(image_path, log_name, url.upper())
engine = BrowserEngine(url, login, log_name)
ret = f(engine, *args, **kwargs)
......
......@@ -7,19 +7,21 @@ import time, os, re
class BrowserEngine(ReadConfig):
__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)
# self.__logger = super().get_logger()
self._log_name = log_name
self._browser = ''
self.url = url
self._driver_path = r"C:\Users\80980\znfz_autotest\driver\chromedriver.exe"
self.image_path = image_path
self.login = login # 是否需要登录
self._driver_path = self.get_browserType('driverPath')
# self.image_path = image_path
self.driver = webdriver.Chrome(self._driver_path)
self.open_browser()
self.login_znfz()
self.format_url()
# self.format_url()
self.get_page(self.url)
self.driver.xpath = self.driver.find_elements_by_xpath
def open_browser(self):
......@@ -31,7 +33,7 @@ class BrowserEngine(ReadConfig):
self.driver.get(url)
self.logger.info("Open url: %s" % url)
time.sleep(1)
time.sleep(0.5)
self.driver.maximize_window()
self.logger.info("Maximize the current window.")
self.driver.implicitly_wait(10)
......@@ -40,7 +42,7 @@ class BrowserEngine(ReadConfig):
return self.driver
def login_znfz(self):
if self.url == 'LOGIN':
if self.login is False:
return
username = self.get_userInfo('username')
password = self.get_userInfo('password')
......@@ -52,7 +54,7 @@ class BrowserEngine(ReadConfig):
self.logger.info("tags.text:%s" % tags.text)
# print(tags.text)
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()
......@@ -61,12 +63,12 @@ class BrowserEngine(ReadConfig):
self.logger.info("tags2.text:%s" % tags2.text)
# print(tags2.text)
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="password"]').send_keys(password)
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):
url_key = self.url if self.url != 'LOGIN' else 'URL'
......@@ -79,9 +81,9 @@ class BrowserEngine(ReadConfig):
else:
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.driver.get(url)
......
......@@ -17,7 +17,7 @@ def teardown_function():
@pytest.mark.login
@get_engine(__file__, 'LOGIN')
@get_engine(__file__,login=False)
def test_login(engine):
username = engine.get_userInfo('username')
password = engine.get_userInfo('password')
......@@ -50,7 +50,7 @@ def test_login(engine):
@pytest.mark.login
@get_engine(__file__, 'LOGIN')
@get_engine(__file__,login=False)
def test_login_pwerr(engine):
username = engine.get_userInfo('username')
password = engine.get_userInfo('password')
......@@ -98,7 +98,7 @@ def test_login_pwerr(engine):
@pytest.mark.login
@get_engine(__file__, 'LOGIN')
@get_engine(__file__,login=False)
def test_login_usererr(engine):
username = engine.get_userInfo('username')
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