找到 11 篇文章 关于 Cucumber
720 次浏览
Selenium 和 Cucumber 之间存在一些差异,如下所示 - 序号 Selenium Cucumber 1 它是一个测试自动化框架。它不是一个测试自动化框架。2 主要用于前端应用程序的自动化测试。主要用作行为驱动开发的工具。3 可以用任何编程语言编写,例如 Java、Python、Ruby、C# 等。可以用 Gherkin 语言编写。4 使用 Java 开发。使用 Ruby 开发。5 只有具备技术知识的用户才能使用。即使没有技术知识的用户也可以使用。6 与 Cucumber 相比,可读性较差。易于阅读。7 与 Cucumber 相比,安装过程冗长且复杂。安装很容易。8 可以合并条件语句。不能合并条件语句。9 语法 ... 阅读更多
305 次浏览
我们可以通过在特性文件中直接传递值,在 Cucumber 中不使用 Examples 进行单一数据参数化。示例特性文件。特性:Tutorialspoint 工作页面场景:Tutorialspoint 工作页面外观和费用给定启动站点 https://tutorialspoint.com/about/about_careers.htm 然后验证页面上的选项卡URL 直接传递给特性文件中的 Given 语句。步骤定义文件应该具有 Given 语句的映射。示例@Given (“^Launch site \"([^\"]*)\"$”) public void launchJobsite(String url){ System.out.println("url is : " + url); } @Then (“^Verify the tabs on the page"$”) public void tabverification(){ System.out.println("Tabs verified successfully); }@Given (“^Launch site \"([^\"]*)\"$”) 传递 UR ... 阅读更多
7K+ 次浏览
glue 是 Cucumber 选项的一部分,它描述了步骤定义文件的位置和路径。示例测试运行器文件。import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; import cucumber.api.testng.AbstractTestNGCucumberTests; @CucumberOptions( features = "src/test/java/features", glue="stepDefinations" ) public class TestRunner extends AbstractTestNGCucumberTests { }
4K+ 次浏览
我们可以在 Cucumber 中使用正则表达式来选择特性文件中的一组类似语句。示例特性文件特性:考试大纲场景大纲:夏季和冬季考试时间表给定夏季的考试时间表给定数学和物理学大纲给定冬季的考试时间表步骤定义文件具有 @Given("^Exam time table in ([^\"]*) season$"),它借助正则表达式将特性文件中的两个 Given 语句映射起来。示例@Given ("^Exam time table in ([^\"]*) season$") public void timeTable(String season){ if (season.equals("winter")){ System.out.println("The winter syllabus"); }else{ System.out.println("The summer syllabus"); ... 阅读更多
2K+ 次浏览
我们可以借助 Cucumber 中的 @Before 和 @After 钩子来运行前置条件和后置条件测试方法。示例特性文件。特性:交易表场景:验证每月交易给定用户位于付款页面步骤定义具有带有钩子 @Before 和 @After 的方法。带有钩子 @Before 的测试方法将作为前置条件执行,然后测试方法(naviagteToPayment() 方法)将运行,最后带有钩子 @After 的测试方法(即后置条件)将执行。示例@Before public void method1(){ System.out.println("The precondition executed successfully"); } @After public void method2(){ System.out.println("The postcondition executed successfully "); } @Given ("^User is on payment ... 阅读更多
545 次浏览
我们可以通过在特性文件中标记场景,在 Cucumber 中从一组测试用例中包含和排除测试方法。示例特性文件。@Tutorialspoint 测试特性:登录特性测试@Smoke 场景:主页测试给定用户位于主页@CodingModule 场景:编码模块测试给定用户位于编码模块页面测试运行器文件具有标记 Smoke 用于排除,CodingModule 用于包含在执行中。示例import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; import cucumber.api.testng.AbstractTestNGCucumberTests; @RunWith(Cucumber.class) @CucumberOptions( features = “src/test/java/features”, glue = “stepDefiniations” tags = {“~@Smoke”, “@CodingModule”} )阅读更多
5K+ 次浏览
我们可以借助特性文件中场景的标记,在 Cucumber 中跳过特定测试方法的执行。示例特性文件。@Regression 特性:发票测试@Smoke 场景:登录验证给定用户位于主页@Payment 场景:付款测试给定用户位于付款页面特性文件,其中场景具有标记 Smoke 和 Payment。示例import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; import cucumber.api.testng.AbstractTestNGCucumberTests; @RunWith(Cucumber.class) @CucumberOptions( features = “src/test/java/features”, glue = “stepDefiniations” tags = { “~@Payment”} )要跳过带有 @Payment 的场景,在测试运行器文件中 @Payment 标记前放置 ~。阅读更多
5K+ 次浏览
我们可以借助 order 关键字在 Cucumber 中设置测试方法的执行顺序。在步骤定义文件中为测试方法分配顺序。顺序较低的测试方法首先执行,然后是顺序较高的测试方法。示例步骤定义文件。@Before (order = 1) public void login(){ System.out.println("login is successful"); } @Before (order = 2) public void payment(){ System.out.println("payment is successful"); } @Given ("^Land in repayment page$") public void repay(){ System.out.println ("Actual Scenario of repayment"); }顺序较低的测试方法(login() 设置为 1)将首先执行。然后是 payment() 测试 ... 阅读更多
524 次浏览
我们在Cucumber的特性文件中使用Scenario Outline关键字。如果某个特定场景需要使用多个组合中的多个数据集来执行,那么我们使用Scenario Outline。多个数据集以表格的形式表示,表格由Examples关键字下的(||)符号分隔。每一行代表一组数据。示例特性文件。特性:登录验证特性场景大纲:登录验证给定用户登录主页当页面标题为Tutorialspoint时,用户输入""和""示例:|用户名|密码| |Selenium|t123 ... 阅读更多
891 次浏览
Cucumber的主要文件组件如下所示-特性文件-此文件扩展名为.feature。它包含以纯文本形式表示的单个或多个测试场景。所有场景都使用Then、Given、When、And、But、Feature、Background等关键字编写。示例特性文件。特性:登录测试场景:Tutorialspoint登录验证给定:启动“https://tutorialspoint.com/index.htm”步骤定义文件-此文件扩展名为.java。它提供了测试场景与测试脚本逻辑的映射。基于上述特性文件的示例步骤定义文件@Given (“^Launch the \"([^\"]*)\"$”) public void launch_application(String url){ System.out.println("The url is ... 阅读更多