自动化功能测试(一)

做了一段时间的接口测试后,突然心血来潮想做自动化功能测试,那么趁着有兴趣,说做就做。

环境:

python、python-IDE(pyCharm)、第三库 selenium

第一次尝试写登录测试脚本,如下:

# coding:utf-8
from selenium import webdriver
import time
import Public_Variable

class Login():
    def __init__(self, url, account, password):

        self.browser = webdriver.Chrome()
        self.browser.implicitly_wait(30)
        self.browser.maximize_window()
        self.browser.get(url)
        self.account = account
        self.password = password
        self.cnn = []
        self.cnn.append(self.browser)
        time.sleep(1)
        self.login_title = Public_Variable.VariAble.login_title

    # 个人/企业登录
    def user_login(self):
        # 登录页面的操作
        self.browser.find_element_by_id('LoginForm_phone').clear()
        self.browser.find_element_by_id('LoginForm_phone').send_keys(self.account)
        self.browser.find_element_by_id('LoginForm_password').clear()
        self.browser.find_element_by_id('LoginForm_password').send_keys(self.password)
        self.browser.find_element_by_name('yt0').click()
        time.sleep(2)

        # 获取页面title的内容并转为utf-8格式的字符串
        title_value = self.browser.title.encode("utf-8")
<span style="white-space:pre">	</span># 判断页面title是否是登录页面的title
        if title_value != self.login_title:
            # 获取 个人中心的个人中心文字信息
            identity = self.browser.find_element_by_xpath("//nav[@class = '_right_fr']/span[6]/a").text
            # 获取 登录手机信息
            acct = self.browser.find_element_by_class_name('_c11').text
            # 获取 欢迎语句
            mg = self.browser.find_element_by_class_name('_mr25px').text
            print identity, acct, mg
            time.sleep(2)
            # 获取 页面 cookies
            cookie = self.browser.get_cookies()
            # 筛选cookies中的name和value的值
            cookies = {'name': cookie[0]['name'], 'value': cookie[0]['value']}
            cnn = []
            # 把当前窗口语柄添加到 cnn列表中
            cnn.append(self.browser)
            # 把获取到的cookie 添加到 cnn 列表中
            cnn.append(cookies)
            # cnn = [{'cookies' :{'name': cookie[0]['name'], 'value': cookie[0]['value']}},browser]
            return cnn
        else:
            self.browser.find_element_by_xpath('//div[@class = "layui-layer-content"]')
            conn = self.browser.find_element_by_xpath('//div[@class = "layui-layer-content"]').text.encode("utf-8")
            self.browser.find_element_by_link_text("确定").click()
            print str(self.account) + ' 账号登录失败: ' + conn
            time.sleep(1)
            return self.browser
程序可以运行,但编写过程中出现了各种错误;成功运行后,开始尝试把用例写到excel中让程序读取数据然后执行,但不知是原因第一次数据执行后,后面的数据执行很慢,也许是我的思路出问题了。

在网上搜索了一下了自动化测试,发现一个不错的博文,连接:点击打开链接


手工测试和自动化测试的功能和定位:

手工测试:主要用用来发现功能缺陷、能细腻的定位问题,具有一定的跳跃性和异常处理能力

自动化测试:任何一个判断都需要编码定义,主要是保证产品主体功能完整和执行繁琐重复的工作;主要作用在冒烟测试和回归测试。

误区:自动化测试脚本不能直接引入测试用例、不能直接拿手工测试用例来做自动化测试用例

自动化用例选项:

1.不是所有的手工测试用例都需要转为自动化测试用例

2.如果自动化用例中存在复杂的流程,则可拆分为多个用例来实现

3.用例的选择最好构成场景

4.用例最好带上目的性

5.选取的用例最好是 重复、繁琐的部分

编写脚本时需要了解脚本时怎么替代人工来执行的

明白每个步骤要做什么,验证什么


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值