当前位置: 首页 > 知识库问答 >
问题:

如何执行Excel表的测试记录(一行)而不获取硒中的测试记录失败(testng)

松英叡
2023-03-14

我有一个要登录的应用程序。登录将成功(提供正确的用户id和密码),只有成功登录后,页面才会重定向到主页。然而,登录失败时,页面不会重定向到另一个页面,它只会说“请输入正确的详细信息”

我有一个Excel表,其中包含正确的用户ID和密码,也包含不正确的用户ID和密码。

考虑以下顺序:

  1. 正确的用户ID和密码
  2. 正确的用户ID和密码
  3. 错误的用户ID和密码
  4. 正确的用户ID和密码
  5. ......正确的用户id和密码 . . . 50...正确的用户id和密码

现在,如果我使用excel表执行我的程序,该程序对测试记录1 2正常工作,为什么因为测试记录3不正确,所以程序停止执行,其余3到50个测试记录都没有得到评估。

我想要的是某种机制,如果用户id和密码不正确,测试记录应通过(指示真阴性)。断言可以这样做吗?

共有2个答案

党浩阔
2023-03-14

为了避免程序终止,您必须将代码放入try-catch块。我假设您的代码中可能有以下代码结构:

@Test
public void validateCredentials(String username, String password)
{
 //do login and check for credentials
 for (int i=0; i<array.lenth; i++)
 {
   try{
   if(successful go ahead){}
   else
     throw new Exception("Not valid credentials")
   } catch(Exception e){ e.printstacktrace();}
 }
}

在这种情况下,假设在第3种情况下,您有无效的凭据,它将抛出异常,并在catch块中处理它,并且它不会在失败发生时停止您的代码。

西门经国
2023-03-14

为此,您可以使用TestNG库,在xml文件包含套件的地方,它会按照您在文件中提到的顺序执行测试用例。请参见下面的内容,它将依次执行“FirstTestCase”和“SecondTestCase”。。因此,您可以做一件事,即维护一个文件调用testng。包含如下套件的xml。。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="testng" preserve-order="true">

    <test name="FisrtTestCase_001">
        <parameter name="test-id" value="firsttestcase_001"/>
        <parameter name="test-config" value="LotEntryConfig"/>
        <parameter name="test-config-sheet" value="LotAdd"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>
    <test name="SecondTestCase_002">
        <parameter name="test-id" value="secondtestcase_002"/>
        <parameter name="test-config" value="FarmerRegConfig"/>
        <parameter name="test-config-sheet" value="NewReg"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>

 </suite> <!-- testng-->

像wise一样,您可以插入更多套件,因此优点是如果任何测试用例失败,则执行不会停止,但您需要开发该逻辑,就像在我的例子中我有三个参数test-id、config-file、Shep-name

因此,测试用例以这样一种方式执行,即无论配置文件是否存在,如果存在,则工作表名称是否存在,如果存在,则test-id是否存在于列中,如果存在,则从该行获取所有值并将其存储到数组中,以便您明智地在我想要的时候...

我已与您分享链接以供参考...

https://www.guru99.com/all-about-testng-and-selenium.html

https://www.toolsqa.com/testng-tutorial/

希望你能理解。。

 类似资料:
  • 首先笔试 5个测试,1个SQL,5个类似行测 1.自我介绍 2.做过哪些测试项目(没有😅) 3.计网学过吗(自己了解过) 4.说一下MySQL事务和索引 5.springcloud和springboot知道吗(知道没问) 6.Linux查看日志(不知道) 7.Linux文本编辑(不保存退出说反了😅) 8.京东购物车模块给你怎么测试(只说了一部分,很多重要点没说😅) 9.大学团队合作介绍一下(

  • 问题内容: 我想在测试函数中放入一些日志记录语句,以检查一些状态变量。 我有以下代码片段: 我得到以下输出: 请注意,只有来自块的日志记录消息才被传输到控制台。 是否有一种方法也可以强制从测试方法向控制台发出日志记录? 问题答案: 为我工作,这是我得到的输出:[snip-> example was not正确] 编辑:看来您必须将选项传递给py.test,以便它不会捕获stdout。在这里(未安装

  • 我正在使用JUnit和Apache Log4J来学习TDD和日志服务的最佳实践。我有一个类,它有一个方法,它将尝试连接到MySQL数据库并返回类型的对象。 我有一个类GenericTaskInterpreterTests,在这里我为这个方法(和其他方法)编写了测试用例。 在这个测试用例场景中,如何使用TestWatcher记录断言失败

  • 双非老鼠硕,一个中小厂测试实习,一个算法设计实习(混专利的公司),8月初开始只投了测试/测开,秋招真的是100+了,最近的面试少得可怜大概这些 8.31 美团一面凉经: 自我介绍 面试官说这个是公司内部用的系统测试(我已经感觉凉了) 深挖实习(挖了半个小时,彻底凉了0八股) 最后让写了个合并数组 自闭了寄 55min 9.4图森未来一面: 自我介绍 实习介绍 测试矿泉水瓶 allure报告模板?(

  • 待更新 等排序,希望有结果 hr面 电话面试大概30-40分钟 我去面试结束后就收到了英语测评 二面 大概40多分钟 携程是交叉面,一面二面面试官是不同部门的 上来直接问问题,但是每个问题都没有深挖,按自己了解的回答就行 (测试用例设计方法、装饰器......)记不住问题了,反正都是基础问题 共享屏幕写代码,面试官在leetcode上找了一个中等难度的题,没写出来。。。 继续问问题 (三次握手,h

  • 1.自我介绍 2.你玩过哪些游戏,阴阳师的优点缺点 3.如果新建一个式神,你要测试哪些方面 4.tcp三次握手 5.冒泡排序 6.测试基本方法 7.等价类划分具体说说 8.游戏都分为什么类型 9.游戏常用服务器 然后就是提问,全程10分钟吧