自动化测试(四)

一.PageObject层分析

PO层是核心层,该层不但涉及到代码技术,还涉及到对项目业务的分析,进而对相关的页面进行分析,首先,分析要进行PO的页面;其次,对在每个范围内的页面进行细节分析。

二.搜索火车票页面

	搜索火车票页面需要涉及如下元素
		1.1出发城市(输入框)
		1.2.到达城市(输入框)
		1.3.出发时间(输入框)
		1.4开始搜索(按钮)
	代码实现如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time       : 2019/12/27 10:29
# @file       : search_page.py
# @Software   : PyCharm
# @author     : MAYH
# @contact    : mayh@chnsys.com.cn
# @Version    :V1.1.0

"""
文件说明:搜索火车票页面

"""
from Base.base import Base
from selenium.webdriver.common.by import By
import time


class SearchPage( Base ):
    # 出发地
    def search_leve(self):
        return self.findele( By.ID, "notice01" )

    # 八大定位
    # 到达地
    def search_arrive(self):
        return self.findele( By.ID, "notice08" )

    # 出发时间
    def search_date(self):
        return self.findele( By.ID, "dateObj" )

    # 搜索按钮
    def search_bth(self):
        return self.findele( By.ID, 'searchbtn' )

    def search_current(self):
        return self.findele( By.CSS_SELECTOR, "#searchtype >li.current" )

    # 通过selenium来执行JavaScript语句
    def search_js(self, value):
        jsvalue = "document.getElementById('dateObj').value='%s'" % (value)
        self.js( jsvalue )

    def search_train(self, leave, arrvie, leave_date):
        self.search_leve().send_keys( leave )
        time.sleep( 2 )
        self.search_arrive().send_keys( arrvie )
        time.sleep( 2 )
        self.search_js( leave_date )
        time.sleep(2)
        self.search_current().click()
        time.sleep(2)
        self.search_bth().click()
        time.sleep( 4 )
        return self.url()

三.预定火车票

		预定火车票主要涉及到以下页面元素:
			1.预定车票按钮
			2.动车复选框
			3.关闭浮层窗口
		代码实现如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time       : 2019/12/27 15:44
# @file       : book_page.py
# @Software   : PyCharm
# @author     : MAYH
# @contact    : mayh@chnsys.com.cn
# @Version    :V1.1.0

"""
文件说明:预定火车票页面

"""
from Base.base import Base
from selenium.webdriver.common.by import By
import time


class BooKPage( Base ):
    # 预定火车票
    def book(self):
        return self.findele( By.XPATH, "//*[@id='tbody-01-K5261']/div[1]/div[6]/div[4]/a" )

    # 动车
    def book_typeD(self):
        return self.findele( By.CSS_SELECTOR, "#resultFilters01 >dl:nth-child(1) >dd.cuirent>label>i" )

    # 关闭浮层
    def book_close(self):
        return self.findele( By.CSS_SELECTOR, "appd_wrap_close" )

    def book_nologin(self):
        return self.findele( By.CSS_SELECTOR, "btn_nologin" )

    def book_btn(self):
        try:
            # time.sleep( 7 )
            # self.book_close().click()
            time.sleep( 2 )
            self.book().click()
            # self.book_nologin().click()
        except:
            self.log.error( "车票查询失败" )
            None
        time.sleep(2)
        return self.url()

四.订单页面

		订单预定成功后,会跳转到订单页面,代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time       : 2019/12/30 11:01
# @file       : order_page.py
# @Software   : PyCharm
# @author     : MAYH
# @contact    : mayh@chnsys.com.cn
# @Version    :V1.1.0

"""
文件说明:订单页面

"""
import time
from Base.base import Base
from selenium.webdriver.common.by import By

class OrderPage(Base):
    # 预定火车票
    def detail_name(self):
        return self.findele(By.CSS_SELECTOR,"#pasglistdiv >div>ul>li:nth-child(2) >input")

    def user_info(self,name):
        time.sleep(5)
        self.detail_name().send_keys(name)
        time.sleep(2)
        return self.url()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值