如何使用sendkey生成增量版本号

时间:2019-01-08 12:37:49

标签: javascript eclipse selenium

我正在测试.gov网站,我想在Java脚本中添加一个递增版本号。该网站不能有重复的帐户标题条目或版本号。

我已经搜索过google和youtube,但找不到任何内容 我当前使用的代码是:

    driver.findElement(By.xpath("//input[@name='title']")).sendKeys("e2e01");

上面的代码输入到e2e01中,我希望我的代码在每次运行脚本时将版本号增加+1,或者在e2e的末尾生成一个随机数以使其进入e2e02,然后到达e2e03,依此类推

2 个答案:

答案 0 :(得分:1)

我建议您创建一个XML文件,该文件将充当测试的数据提供者。在每次运行中,它都会增加编号并更新XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<vars>
  <counter>1</counter>
</vars>

增加值的功能:

int incrementCounter() {
   int counter = loadValueFromXML();
   counter++;
   incrementValueInXML();
}

在您的sendKeys中:

driver.findElement(
By.xpath("//input[@name='title']")).sendKeys("e2e0" + Integer.toString(incrementCounter()));

答案 1 :(得分:1)

嗨,这是类似的代码,您可以在java中进行转换,我已经在python中完成了操作,以供您参考。

from selenium import webdriver
import traceback
from builtins import str
from robot.utils.error import Throwable

driver = webdriver.Ie("C:/automation/config/IEDriverServer.exe")
driver.get("https://www.w3schools.com/")
driver.maximize_window()
driver.find_element_by_xpath("/html/body/div[5]/div/a[1]/i").click()
test=True;
loopCounter=0;
try:
    while (test):
    loopCounter += 1
    if (loopCounter == 20):
        test=False
        break
    else:
        driver.find_element_by_css_selector("#gsc-i-id1").send_keys("e2e" + str(format(loopCounter, '02d')))
        driver.find_element_by_css_selector("#gsc-i-id1").clear()

except :
    Throwable(traceback)