BDD之Behave写某站点的自动化登录测试

00 前言

    BDD,即行为驱动开发,用自然语言描述编程。

    程序为一个简单的示例:站点的登录

    环境:Python 3.5

目录及文件结构:

Feature:

--steps

----login.py

--environment.py

--login.feature

    

01 代码

    1.1 login.feature

    

    1.2 environment.py

    

# -*- utf-8 -*-
from selenium import webdriver

def before_all(context):
    context.iatc_url = 'http://iatc.soft.rz/portal/'
    context.driver = webdriver.Firefox()

def after_all(context):
    context.driver.quit()

    1.3  logins.py

# This Python file uses the following encoding: utf-8
#../logins.py

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By



@Given('I open url')
def step_impl(context):
    context.driver.get(context.iatc_url)
	
@when('I input username & password, press login')
def step_impl(context):
    context.ele_input_id = context.driver.find_element_by_id("txt_uid")
    context.ele_input_id.send_keys("[email protected]")
	
    context.ele_input_pw = context.driver.find_element_by_id("txt_pwd")
    context.ele_input_pw.send_keys("Win.12345")
	
    context.ele_btn = context.driver.find_element_by_id("btnLogin")
    context.ele_btn.click()
    
@Then('find login username')
def step_impl(context):

    context.sign_link = WebDriverWait(context.driver, 60).until(
            expected_conditions.text_to_be_present_in_element(('xpath', ".//*[@id='workspace_info']/span[4]"), "Powered By"))
    context.ele_results = context.driver.find_element_by_xpath(".//*[@id='workspace_info']/span[4]")
    context.expected_results = 'Powered'
    print("ele_results: ", context.ele_results.text) 
    context.driver.implicitly_wait(10)
    if context.expected_results in context.ele_results.text:
        assert True
    else:
        assert False
    以上,实现登录自动化


猜你喜欢

转载自blog.csdn.net/zljun8210/article/details/80609641
今日推荐