技术文章库 - 编程教程与技术分享平台
JavaScript 中两个字符串的差异
我们需要编写一个JavaScript函数,该函数接受两个字符串并找出字符串中对应差异的数量。如果它们不相等,则对应元素将不相似示例假设以下是我们的字符串−conststr1='Helloworld!!!';conststr2='Hellpworld111';示例其代码为−conststr1='Hellow
在 JavaScript 中反转字符串的偶数长度单词
我们需要编写一个JavaScript函数,该函数接收一个字符串并反转字符串中包含偶数个字符的单词。假设以下是我们的字符串−conststr='Thisisanexamplestring';我们想要反转上述字符串的偶数长度单词,即反转以下单词−Thisisanstring示例其代码为−conststr='Thi
在 JavaScript 中查找第一个违反序列的元素(第一个不连续的数字)的索引
我们必须编写一个函数,该函数接受一个数组并返回其中第一个不连续的数字的索引。就像所有数字都将处于公差为1的等差数列中一样。但是对于违反此规则的数字,我们必须返回其索引。如果所有数字都按完美顺序排列,我们应该返回-1。示例让我们来编写该函数的代码−constarr=[1,2,3,4,5,6,8,9,10];constsecondArr=[3,4,5,6,7,8,9,1
解释行为驱动框架。
行为驱动框架从项目中的所有利益相关者那里获取输入,如开发人员、测试人员、产品所有者、经理、客户和业务分析师。其目的是让项目的每个成员都具有相同的理解。行为驱动框架致力于团队中每个人之间的协作和协调。由于功能需求或规范是用非技术通用语言描述的,因此不需要技术编码知识。此规范可用作测试人员在设计自动化和手动测试人员的测试用例时的标准模板。可以轻松估计每个业务场景的测试覆盖率。此外,客户和开发人员的观点
陈述数据驱动和关键字驱动框架之间的差异。
下面描述了数据驱动和关键字驱动框架之间的差异。在数据驱动测试中,我们可以借助参数化以多种组合对多个数据运行测试。在这里,数据被视为测试脚本逻辑的输入。每个数据集都可以被视为一个单独的测试用例。在关键字驱动测试中,开发的关键字代表一个动作。按顺序维护的关键字列表形成一个测试用例。因此,一旦开发出一个关键字,就可以在多个测试脚本中使用。数据驱动框架围绕数据(在excel、csv或任何其他文件中维护
解释数据驱动框架。
数据驱动框架用于将测试脚本逻辑与测试数据分离。在此框架中,我们可以借助参数化使用多组数据以多种组合方式运行测试脚本。测试数据保存在单独的文件中,如excel、access、txt等。测试脚本需要连接到这些外部文件以获取数据。此框架的主要目的是针对各种数据集运行我们的测试脚本,从而减少测试用例的数量。数据驱动框架具有更多的测试覆盖率、可重用功能并且易于维护。只需修改测试数据即可触发测试执行。由于
解释关键字驱动框架。
关键字驱动框架也称为表驱动框架。这里有一个表格,我们描述了必须执行的方法的关键字或操作。自动化测试脚本是基于excel中提到的关键字或操作开发的。自动化测试人员需要通过更新或构建更新的关键字来扩展框架功能。从事手动测试且编程知识较少的人员可以使用此框架。主要思想是识别关键字或操作并在为特定测试场景维护的excel中使用它们。通常,此excel表会替代测试用例文档。但是,使用关键字构建或
在 JavaScript 中从字符串构造对象的代码
我们需要编写一个函数,该函数将字符串作为第一个也是唯一的参数,并根据字符串的唯一字符构造一个对象,其键为字符串,每个键的值默认为0。例如:如果输入字符串为−conststr='helloworld!';输出那么输出对象应该是−constobj={"h":0,"e":0,"l&qu
在 JavaScript 中查找数字的位值
我们需要编写一个函数,假设为splitNumber(),它接受一个正整数并返回一个包含该数字所有数字的位值的数组。例如−如果输入数字是−constnum=1234;输出那么输出应该是−constoutput=[1000,200,30,4];让我们为这个函数编写代码。这个问题非常适合使用递归方法,因为我们将对数字的每个数字进行迭代。因此,
在 JavaScript 中将数字四舍五入为最接近的幂
我们需要编写一个JavaScript函数,该函数接受一个数字并返回一个可以表示为最接近输入数字的2的幂的数字。例如:如果输入数字为145。则输出应为128,因为145是最接近128的数字,对于n的某个整数值,它可以表示为2^n。示例其代码为−constnum=145;constnearestPowerOfTwo=num=>{//仅处
使用 JavaScript 中的二分搜索来搜索查询
我们需要编写一个JavaScript函数,该函数将已排序的文字数组作为第一个参数,将查询文字作为第二个参数。然后我们的函数应该使用二分搜索算法来查找查询是否存在于数组中。如果存在,我们返回其在数组中的索引,否则我们返回-1。示例其代码为−constarr=[1,2,3,5,6,7,10,11,14,15,17,19,20,22,23];cons
用 JavaScript 计算数学方程的零点(解)
我们需要编写一个JavaScript函数,该函数接受三个数字(分别表示二次项的系数、一次项的系数和二次二次方程中的常数)。并且我们需要找到根(如果它们是实根),否则我们必须返回false。示例其代码为−constcoeff=[1,12,3];constfindRoots=co=>{const[a,b,c]=co;constdiscrim
在 JavaScript 中仅保留字符串中的冗余单词
我们需要编写一个JavaScript函数,该函数接受一个字符串并返回一个新字符串,该字符串仅包含原始字符串中出现多次的单词。例如:如果输入字符串是−conststr='thisisaisthisstringthatcontainsthatsomerepeatingwords';输出那么输出应该是−constoutput
流畅等待执行什么操作?
流畅等待是一种动态等待,它使驱动程序暂停以在抛出异常之前以一定频率检查的条件。在DOM中搜索元素不是持续的,而是以固定的时间间隔搜索。例如,如果等待时间为5秒,FluentWait会定期监视DOM(通过在时间内轮询定义)。在FluentWait中,需要构建基于条件的自定义等待方法。语法−Wait<WebDriver>w=newFluentWait&
显式等待执行什么操作?
显式等待应用于网页中的特定元素。它将暂停执行,直到条件得到满足。显式等待也是动态的,因为如果等待时间为十五秒,并且在此指定时间之前满足条件(例如等待元素可点击、可见或可选等),则控件将移至下一步。显式等待更具可定制性,因为我们可以根据条件进行设置。下面列出了一些显式等待的预期条件−textToBePresentInElement()语法w.until(ExpectedConditio
如何使用xpath识别第n个子元素?
我们可以通过以下方式使用xpath识别第n个子元素−通过添加带有索引的方括号。通过使用xpath中的position()方法。示例importorg.openqa.selenium.By;importorg.openqa.selenium.Keys;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.Web
在id、name、xpath和css中,应该使用哪个定位器?
每个定位器都有一定的意义。如果页面包含唯一的属性值,我们应该首先使用它们。但是,如果没有唯一的元素,我们应该使用css选择器,因为它在速度方面更有效。Css还有一个缺点,我们不能从子节点遍历到父节点,这意味着我们不能向后移动。但xpath允许这个特性。Xpath是Selenium中最常见的定位器,它通过遍历DOM元素和属性来识别对象。xpath用两种方式表示,即‘/‘和&l
Selenium中如何获取编辑框的值?
Selenium中我们可以通过以下方式获取编辑框的值−使用getText()方法。使用JavascriptExecutor类。使用方法getText()的代码实现。示例importorg.openqa.selenium.By;importorg.openqa.selenium.Keys;importorg.openqa.selenium.WebDriver;importorg
用 JavaScript 实现桶排序的程序
桶排序的工作原理是将大小为n的数组分成k个桶,每个桶包含特定范围的元素值。然后,使用可以根据预期输入大小选择的排序算法对这些桶进行排序。我们可以如下描述该算法−算法:创建初始bucketSort函数为i、min、max和bucketsize创建变量查找最小值和最大值创建bucket数量将值推送到正确的bucket对bucket进行排序示例其代码为&m
JavaScript 中的矩阵乘法算法
我们需要编写一个JavaScript函数,该函数接受两个二维数字数组并返回它们的矩阵乘法结果。让我们为该函数编写代码−示例其代码为−constmultiplyMatrices=(a,b)=>{if(!Array.isArray(a)||!Array.isArray(b)||!a.length||!b.length){throw

