ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PO模型

2020-12-20 18:57:22  阅读:238  来源: 互联网

标签:locate el 模型 value self div type PO


Commonlib目录存放通用模块(我们封装的selenium模块)

创建Business目录 ,根据业务创建测试功能模块

创建Testcase目录存放测试用例
在这里插入图片描述
Commonlib目录下创建通用模块Commonlib.py

from selenium import webdriver
import time

class CommonUtil():

    # 初始化方法
    def init(self):
        # 创建浏览器对象
        self.driver = webdriver.Chrome()
        # 设置隐式等待
        self.driver.implicitly_wait(5)
        # 设置浏览器最大化
        self.driver.maximize_window()


    # 请求指定站点
    def open_url(self,url):
        self.driver.get(url)
        time.sleep(3)


    # 判断定位方法并调用相关方法
    def  locateElement(self,locate_type,value):
        el = None
        if locate_type == 'id':
            el = self.driver.find_element_by_id(value)
        elif locate_type == 'name':
            el = self.driver.find_element_by_name(value)
        elif locate_type == 'class':
            el = self.driver.find_element_by_class_name(value)
        elif locate_type == 'text':
            el = self.driver.find_element_by_link_text(value)
        elif locate_type == 'xpath':
            el = self.driver.find_element_by_xpath(value)
        elif locate_type == 'css':
            el = self.driver.find_element_by_css_selector(value)
        # 如果el不为None,则返回
        if el is not None:
            return el


    # 指定对某一元素的点击操作
    def click(self,locate_type,value):
        #调用定位方法进行元素定位
        el =  self.locateElement(locate_type,value)
        #执行点击操作
        el.click()
        time.sleep(1)


    # 对指定的元素进行数据输入
    def input_data(self,locate_type,value,data):
        #调用定位方法进行元素定位
        el = self.locateElement(locate_type,value)
        #执行输入操作
        el.send_keys(data)


    # 获取指定元素的文本内容
    def get_text(self, locate_type, value):
        # 调用定位方法进行元素定位
        el = self.locateElement(locate_type, value)
        return el.text


    # 获取指定元素的属性值
    def get_attr(self, locate_type, value, data):
        # 调用定位方法进行元素定位
        el = self.locateElement(locate_type, value)
        return el.get_attribute(data)


    #收尾清理方法
    def delete(self):
        time.sleep(3)
        self.driver.quit()


if __name__ == '__main__':
    pass

Business目录创建测试功能模块toShop.py

#导入selenium封装类
from webTest.tpShopTestProject.Commonlib.Commonlib import CommonUtil
import unittest
import HTMLTestRunner
from webTest.tpShopTestProject.Testcase.test import yongLi


class TpShop(yongLi,CommonUtil,unittest.TestCase):


    def setUp(self):
        CommonUtil.init(self)
        CommonUtil.open_url(self,'http://www.testingedu.com.cn:8000/home/User/login.html')

    def test_login(self):
        self.login("13800138006","123456","1234")

    def test_By_Card(self):
        self.by_card()

    def tearDown(self):
        CommonUtil.delete(self)
        # self.driver.quit()

if __name__ == '__main__':

    testShop = unittest.TestSuite()
    testShop.addTest(TpShop("test_login"))
    testShop.addTest(TpShop("test_By_Card"))

    file = "e:/tpShop.html"
    fle = open(file, "wb")

    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fle,
        title="TP商城测试报告",
        description="用例执行情况"
    )

    runner.run(testShop)

Testcase目录创建测试功能模块test.py

from webTest.tpShopTestProject.Commonlib.Commonlib import CommonUtil


class yongLi(CommonUtil):


    #登录
    def login(self, username, password, yanzhen):
        # 输入用户名
        self.input_data("xpath", "//*[@id='username']", username)

        # 输入密码
        self.input_data("xpath", "//*[@id='password']", password)

        # 输入验证码
        self.input_data("xpath", "//*[@id='verify_code']", yanzhen)

        # 登录
        self.click("xpath", "/html/body/div[2]/div/div[2]/div/form/div/div[6]/a")

    #将添加到购物车
    def by_card(self):
        # 输入用户名
        self.input_data("xpath", "//*[@id='username']", "13800138006")

        # 输入密码
        self.input_data("xpath", "//*[@id='password']", "123456")

        # 输入验证码
        self.input_data("xpath", "//*[@id='verify_code']", "1234")

        # 登录
        self.click("xpath", "/html/body/div[2]/div/div[2]/div/form/div/div[6]/a")

        # 进入首页
        self.click("text", "首页")

        # 选择商品
        self.click("css",
                   "body > div.floor.floor1.w1224 > div.floor-main > div.floor-goods-list > a:nth-child(1) > div.goods-pic > img")

        # 添加到购物车
        self.click("xpath", "//*[@id='join_cart']")

运行toShop.py
在这里插入图片描述
在这里插入图片描述

标签:locate,el,模型,value,self,div,type,PO
来源: https://blog.csdn.net/weixin_45173721/article/details/111460818

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有