元素定位,元素操作。
原则:sleep -调试
框架?架子
PO模式 - pageObject -页面对象
web网页测试 -测试用例:全部都是在页面上操作的
测试用例:不同页面当中的操作 串起来的
300个测试用例–30个页面。
30个页面–定义30个页面类(属性和行为) --行为:当前页面的操作。
用例1=页面A的操作1 -页面B的操作4 -页面C的操作5 -页面C的行为6
中心思想:测试对象和测试用例,彻底分离
好处:1.页面当中元素定位,元素操作发生变化。与用例无关。
2.用例当中用顺序发生了变化,与测试对象无关。
测试用例:
"""
======================
@Author:coco
@Time:2019/12/28
@File:home_page.py
@software:PyCharm
======================
"""
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webdriver import WebDriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
class HomePage:
# 我的账号 元素
my_user_name = (By.XPATH,'//a[contains(text(),"我的帐户")]')
def __init__(self,driver:WebDriver):
self.driver = driver
# 用户名是否存在
def user_is_existed(self):
"""
如果用户存在,则返回True,如果用户名元素不存在,则返回False
"""
try:
WebDriverWait(self.driver,10).until(EC.visibility_of_element_located(self.my_user_name))
except:
return