大家对行为驱动测试应该有了一个具体的认知。更进一步如果这种测试机制能和Selenium框架融合并运用到真正的自动化项目中,这样更大的价值将显现出来。继续以实例来演示这种设想。以携程网的登录场景为例来讲解。

  总体目录结构与上例一致,这里忽略。

  • 1)场景描述。

场景主要是为了实现登录的目的。可以拆分为三步操作:打开登录页面;输入用户名;输入密码。具体可以参考场景文件“example.feature”如下所示:

行为驱动behave集合selenium_主目录

 

 

2)按照以上对场景的描述,创建行为驱动脚本如下。在脚本中实现了3个步骤,分别是打开登录页面;输入用户名;输入密码。

 



#学习有疑问请联系作者
#作者qq:2574674466
#作者邮箱2574674466@qq.com
#coding=utf-8
from behave import *
from selenium import webdriver
#以下函数为了实现打开网站的操作
@when('I open the login website')
def step_impl(context):
#请在下列代码中添加真实的chromedriver的路径
context.driver = webdriver.Chrome("xxx")
context.driver.get('https://passport.ctrip.com/user/login?')
#以下的函数是为了实现输入用户名
@Then('I input username')
def step_i2(context):
context.driver.find_element_by_id("nloginname").send_keys("test")

#以下的函数是为了实现输入密码
@Then('I input password')
def step_i3(context):
context.driver.find_element_by_id("npwd").send_keys("test")


 

3)在项目主目录下执行命令“behave”。查看测试结果。如下所示:

行为驱动behave集合selenium_登录页面_02

 

 

 

更多内容请关注公众号:“大牛测试

行为驱动behave集合selenium_主目录_03

 

 


欢迎加入交流群:Selenium学习群: 628908894