Selenium编写自动化用例的8种技巧

在开始自动化时,您可能会遇到各种可能包含在自动化代码中的方法,技术,框架和工具。有时,与提供更好的灵活性或解决问题的更好方法相比,这种多功能性导致代码更加复杂。在编写自动化代码时,重要的是我们能够清楚地描述自动化测试的目标以及我们如何实现它。话虽如此,编写“干净的代码”以提供更好的可维护性和可读性很重要。编写干净的代码也不是一件容易的事,您需要牢记许多最佳实践。以下主题突出显示了编写更好的自动化代码应获得的8条银线。

 

1.命名约定

当我们从手动转向自动化或实际上以任何编程语言编写代码时,这确实是要牢记的经验法则之一。遵循正确的命名约定有助于更轻松地理解代码和维护。此命名约定暗含变量,方法,类和包。例如,您的方法名称应特定于其用途。“ Register_User()”方法描述了在该方法中显示用户注册的方法。明确定义的方法名称增加了脚本的易于维护和可读性。这同样适用于变量命名。我注意到许多人提到变量为a,b,c等,甚至将Web元素称为Weblelement1,Webelement2等。这样一来,用户看不到变量名与预期的一样。

以下是显示命名错误的示例:

 1public void Register_User() throws InterruptedException
 2    {
 3        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
 4        driver.get("https://www.lambdatest.com/ ");
 5        driver.manage().window().maximize();
 6        WebElement web1= driver.findElement(By.xpath("//a[text()='Free Sign Up']"));
 7        web1.click();
 8        WebElement web2=driver.findElement(By.xpath("//input[@name='organization']"));
 9        web2.sendKeys("LambdaTest");
10        WebElement web3=driver.findElement(By.xpath("//input[@name='first_name']"));
11        web3.sendKeys("Test");
12        WebElement web4=driver.findElement(By.xpath("//input[@name='last_name']"));
13        web4.sendKeys("User");
14        WebElement web5=driver.findElement(By.xpath("//input[@name='email']"));
15        web5.sendKeys("sadhvi.singh@navyuginfo.com");
16        WebElement web6=driver.findElement(By.xpath("//input[@name='password']"));
17        web6.sendKeys("TestUser123");
18        WebElement web7=driver.findElement(By.xpath("//input[@name='phone']"));
19        web7.sendKeys("9412262090");
20        WebElement web8=driver.findElement(By.xpath("//button[text()='SIGN UP']"));
21        web8.click();
22        Thread.sleep(3500);
23
24    }   

 

上面的代码显示了“ method1”如何不向用户提供任何线索,就像该方法的确切作用一样。另外,所有的web元素都通过web1,web2等表示。用户无法识别哪个Web元素捕获了哪个字段。

对于上述相同的代码,可以如下标记正确的表示方式:

 1public void Register_User() throws InterruptedException
 2    {
 3        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
 4        driver.get("https://www.lambdatest.com/ ");
 5        driver.manage().window().maximize();
 6        WebElement link= driver.findElement(By.xpath("//a[text()='Free Sign Up']"));
 7        link.click();
 8        WebElement organization=driver.findElement(By.xpath("//input[@name='organization']"));
 9        organization.sendKeys("LambdaTest");
10        WebElement first_name=driver.findElement(By.xpath("//input[@name='first_name']"));
11        first_name.sendKeys("Test");
12        WebElement last_name=driver.findElement(By.xpath("//input[@name='last_name']"));
13        last_name.sendKeys("User");
14        WebElement email=driver.findElement(By.xpath("//input[@name='email']"));
15        email.sendKeys("sadhvi.singh@navyuginfo.com");
16        WebElement password=driver.findElement(By.xpath("//input[@name='password']"));
17        password.sendKeys("TestUser123");
18        WebElement phone_number=driver.findElement(By.xpath("//input[@name='phone']"));
19        phone_number.sendKeys("9412262090");
20        WebElement button=driver.findElement(By.xpath("//button[text()='SIGN UP']"));
21        button.click();
22        Thread.sleep(3500);
23        String url= driver.getCurrentUrl();
24        assertEquals("fail- unable to register", url, "https://accounts.lambdatest.com/user/email-verification");
25
26    }

在这里,方法名称'Register_User'通过名称明确定义了用户,指示该方法包含与用户注册相关的代码。同样,所有Web元素或变量都具有与用于定义意图的捕获字段相关的名称。

通常,通常鼓励使用驼峰式大小写来记录方法或变量,因为它在可读性和维护脚本方面更加清晰。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值