老师,我的demo_test.py运行很奇怪,不知道为什么会这样,麻烦帮忙看下。
来源:4-2 原生测试框架参数化的第一种方法

精慕门1518355
2022-01-12
#-----------------------------------------po_demo.py--------------------------------------------
import sys
sys.path.append('D:\\SELENIUMPYTHON\\autoframework')
sys.path.append('D:\\SELENIUMPYTHON\\autoframework\\chapter3')
# 页面属性封装(url,浏览器实例,元素,操作)
# 页面调用(页面继承, 页面实例化)
# 基于页面调用可以有两种实现方式##
from bo_demo import *
# from setting import *
class Page:
url = None
driver = None
@classmethod
def cls_element(cls, loc: tuple):
return cls.driver.find_element(*loc)
def element(self, loc: tuple):
"""
定位元素的方法
:param loc:
:return:
"""
return self.driver.find_element(*loc)
def elements(self, loc: tuple):
"""
定位一组元素或多个元素
:param loc:
:return:
"""
return self.driver.find_elements(*loc)
class CommonLoginPage(Page):
url='http://127.0.0.1:88/zentao/user-login.html'
# url = PROJECT_ZenTao_URL
driver = CHROME().browser
username = ('id', 'account')
password = ('name', 'password')
loginBtn = ('id', 'submit')
def get(self):
"""
打开首页地址
:return:
"""
self.driver.get(self.url)
@classmethod
def cls_get(cls):
"""
类方法,打开首页
:return:
"""
cls.driver.get(cls.url)
def login(self, username: str = 'admin', password: str = 'admin123456'):
self.element(self.username).send_keys(username)
self.element(self.password).send_keys(password)
self.element(self.loginBtn).click()
@classmethod
def cls_login(cls, username: str = 'admin', password: str = 'admin123456'):
cls.cls_element(cls.username).send_keys(username)
cls.cls_element(cls.password).send_keys(password)
cls.cls_element(cls.loginBtn).click()
class Search(CommonLoginPage):
searchInput = ('id', 'searchInput')
searchGo = ('id', 'searchGo')
user_name = ('xpath', '//span[@class="user-name"]')
bug_label = ('xpath', '//span[@class="label label-id"]')
log_out = ('xpath', '//a[text()="退出"]')
def search_bug(self, bug_id: str = '1'):
self.element(self.searchInput).send_keys(bug_id)
self.element(self.searchGo).click()
def logout(self):
self.element(self.user_name).click()
self.element(self.log_out).click()
'''测试'''
class TestSearch(Search):
"""
测试登录和检索bug功能
"""
def test_login(self):
self.get()
self.login()
assert self.element(self.user_name).text == 'admin'
print('test_login is ok')
def test_search(self):
self.search_bug()
assert self.element(self.bug_label).text == '1'
print('test_search is ok')
self.driver.quit()
# obj = TestSearch()
# obj.test_login()
# obj.test_search()
#-----------------------------------------------demo_test.py--------------------------------------------
import sys
sys.path.append('D:\\SELENIUMPYTHON\\autoframework')
import unittest
from time import sleep
import paramunittest
from chapter3.po_demo import Search
class TestSearch(unittest.TestCase,Search):
def test_login_admin(self):
self.get()
self.login('admin', 'admin123456')
sleep(1)
assert self.element(self.user_name).text == 'admin'
print('test_login_admin is ok')
self.logout()
sleep(1)
def test_login_json(self):
self.get()
self.login('json', 'json123456')
sleep(1)
assert self.element(self.user_name).text == 'json'
print('test_login_json is ok')
self.logout()
sleep(1)
def test_login_tom(self):
self.get()
self.login('tom', 'tom123456')
sleep(1)
assert self.element(self.user_name).text == 'tom'
print('test_login_tom is ok')
self.driver.quit()
if __name__ =='main':
unittest.main()
#-----------------------------------demo_test.py运行:打开禅道登录页面,但是没输入账户密码就关闭了;
关闭后再次打开浏览器,但是浏览器url跳转报错是提示data:,
demo_test.py运行的终端是这样的:
1回答
-
托尼老师
2022-01-13
驱动版本和浏览器版本是不是匹配的?
012022-01-13
相似问题