有没有办法为自动化测试用例创建自定义环境URL?
E.g。现在我使用driver.get(“https://google.com”);
但是如果我想使用其他环境,我每次都必须手动更改代码中的url。我想知道是否有办法做到这一点?也许有些配置/参数。
P.S。:我没有使用Maven,只有TestNG。
谢谢。
答案 0 :(得分:0)
您可以为任何属性制作自定义环境,例如 URL ,用于通过使用属性文件自动化测试用例。这是一个简短的例子:
在项目空间内创建一个目录,例如 config_demonstration_dir 并在其中创建文件 config.property ,并列出要在测试执行时调用的网址如下:
DEV_URL=https://www.google.com
UAT_URL=https://www.facebook.com
创建 @Test 带注释的类(使用TestNG)并使用属性类加载文件config.property
,如下所示:
package ConfigurationDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Properties;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class UsingConfiguration
{
@Test
public void testConfig() throws Exception
{
File src = new File("./config_demonstration_dir/config.property");
FileInputStream fis = new FileInputStream(src);
Properties pro = new Properties();
pro.load(fis);
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(pro.getProperty("DEV_URL"));
//or
//driver.get(pro.getProperty("UAT_URL"));
System.out.println(driver.getTitle());
driver.quit();
}
}
现在,当您在@Test
内执行driver.get()
带注释的类时,您可以调用 DEV_URL 或 UAT_URL 属性中的任何一个。
使用 DEV_URL 控制台输出为:
Google
PASSED: testConfig
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
使用 UAT_URL 控制台输出为:
Facebook – log in or sign up
PASSED: testConfig
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================