gpt4 book ai didi

java - 如何使用 testng 和 selenium 参数化我的搜索测试

转载 作者:行者123 更新时间:2023-12-01 04:11:53 25 4
gpt4 key购买 nike

我面临着参数化搜索功能的问题,事实上我需要使用不同的关键字来进行测试:

这是我的类(class):

package Distributed;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import org.json.JSONException;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class TSKZ63700J {

WebDriver driver ;
String BaseURL , winURL , TestURL, androidURL ;
String ApiURL = "http://frstmwarwebsrv.orsyptst.com:9000/duobject? searchString=TSK(Z63700J)(000)(Z63700JU10)(000)&filtercheck=nameSWF&p.index=0&p.size=8";
jsonobject json;

String res;

/**
* Initiate connection
*/
@BeforeTest


public void setup () throws MalformedURLException

{
TestURL = "http://frstmwarwebsrv.orsyptst.com:9000";
BaseURL = "http://10.2.128.126";
winURL = "http://10.2.128.120:5556/wd/hub";
androidURL ="http://10.2.128.120:5555/wd/hub";

DesiredCapabilities wincap = DesiredCapabilities.firefox();
wincap.setBrowserName("firefox");
wincap.setPlatform(Platform.WINDOWS);
driver = new RemoteWebDriver ( new URL ( winURL ), wincap) ;



}

@Test
public void compareresults () throws IOException, JSONException {
srch ("TSK(Z63700J)(000)(Z63700JU10)(000)");
//assertEquals(jsonobject.getresults(ApiURL), "TSK(ZRM760J)(000)(ZRM760JU00)(000)");
assertEquals(jsonobject.getresults(ApiURL), res);

}

private void srch(String keyword) {

driver.get(TestURL);
WebElement input1 = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/input[1]"));
input1.sendKeys("guest");
WebElement input2 = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/input[2]"));
input2.sendKeys("guest");
WebElement btn = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/button"));
btn.click();
WebElement w1 = driver.findElement(By.xpath("html/body/header/nav/div[1]/form/div/input"));
w1.sendKeys( "TSK(Z63700J)(000)(Z63700JU10)(000)");
WebElement w2 = driver.findElement(By.xpath("(//button[@type='button'])[2]"));
w2.click();
WebDriverWait wait= new WebDriverWait(driver,10 );
wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("TSK(Z63700J)(000)(Z63700JU10)(000)")));
WebElement result = driver.findElement(By.linkText("TSK(Z63700J)(000)(Z63700JU10)(000)"));
// res = (result.toString()).substring(80,100);
res =result.getText();



}

private void quitTest() {
driver.quit();
}

@AfterTest
public void aftertest ()

{
quitTest();
}

}

我想做的是:

首先参数化搜索功能,我想我必须在搜索功能内的 SendKeys 级别执行此操作,但我不确定如何使用 Testng 执行此操作。

其次,我希望 alsi 参数化 APIURL。

预先感谢您的建议。

我已完成以下操作:

@Parameters({"keyword" , })
@Test
private void srch(String keyword ) {

driver.get(TestURL);
WebElement input1 = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/input[1]"));
input1.sendKeys("guest");
WebElement input2 = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/input[2]"));
input2.sendKeys("guest");
WebElement btn = driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/button"));
btn.click();
WebElement w1 = driver.findElement(By.xpath("html/body/header/nav/div[1]/form/div/input"));
w1.sendKeys(keyword);
WebElement w2 = driver.findElement(By.xpath("(//button[@type='button'])[2]"));
w2.click();



}

然后更改testng.xml:

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

<test name="Search">
<parameter name="keyword" value="tsk" />
<parameter name="keyword" value="40" />
<parameter name="keyword" value="30" />
<parameter name="keyword" value="A" />
<parameter name="keyword" value="TSK(SAW" />
<parameter name="keyword" value="TSK(TTA010ON3" />
<parameter name="keyword" value="TSK(ARS090J)(000)(ARS090JN30)(000)" />
<parameter name="keyword" value="TSK(Z63700J)(000)(Z63700JU10)(000)" />
<parameter name="keyword" value="BAQ703J" />
<parameter name="keyword" value="BAQ703" />
<parameter name="keyword" value="CPE800J" />
<parameter name="keyword" value="NOT700J" />
<parameter name="keyword" value="ZWE010JU" />
<parameter name="keyword" value="ANF010JU0" />
<parameter name="keyword" value="TTA010ON3" />
<parameter name="keyword" value="BEN700JU40" />
<parameter name="keyword" value="NOT700JNA5" />
<parameter name="keyword" value="31" />
<parameter name="keyword" value="LBEN00733_GLOBAL" />
<parameter name="keyword" value="LBEN00733" />
<parameter name="keyword" value="TSK(ZTA010OU05)(000)" />
<parameter name="keyword" value="CRM :" />
<parameter name="keyword" value="TSK(CRM025JU50)(000)" />
<parameter name="keyword" value="TSK(ARS090J)(000)(ARS090JN30)(000)" />
<parameter name="keyword" value="TSK(Z63700J)(000)(Z63700JU10)(000)" />
<parameter name="keyword" value="AFF720J" />
<parameter name="keyword" value="SSCC depuis Gold" />
<parameter name="keyword" value="CPE170JR10" />
<parameter name="keyword" value="Uproc Dist: Detection R:\\sysapp\\data\\CPE\\CPE\\wrk\\SSCC_FPLP" />
<parameter name="keyword" value="Trailer: contournement sur le pb de la TVA" />
<parameter name="keyword" value="AA" />
<parameter name="keyword" value="49" />
<parameter name="keyword" value="Internal Activities" />
<parameter name="keyword" value="().-_ @[]" />
<parameter name="keyword" value="Integration ZCRMI120 01" />

<classes>
<class name="Distributed.Search" />
</classes>
</test>







</suite>

但是,当我运行时,仅考虑最后一个参数:Integration ZCRMI120 01

谢谢齐德

最佳答案

之所以只出现最后一个值,是因为您的所有参数都以名称作为关键字。因此最后一个参数值是为参数“keyword”更新的最后一个。如果您想使用所有参数,则需要以不同的方式定义它们。在您的情况下,如果您尝试使用不同的数据运行相同的测试,您应该使用 dataprovider。 您的 apiurl 是 testng.xml 中参数的良好候选者,因为它在多个测试中都是恒定的。

关于java - 如何使用 testng 和 selenium 参数化我的搜索测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com