忽悠别人做商城网站,新变更营业执照注册号查了发现之前有备案过网站了,公司网页怎么做的,中国设计素材网Selenium最酷的方面之一是#xff0c;您不仅可以使用网站进行录制#xff0c;还可以将其实际用作junit测试。 首先#xff0c;我将在Firefox中安装Selenium#xff08;因为这是正式版本#xff09;并进行快速测试。 重要的是要注意#xff0c;Selenium将为您提供多种不同… Selenium最酷的方面之一是您不仅可以使用网站进行录制还可以将其实际用作junit测试。 首先我将在Firefox中安装Selenium因为这是正式版本并进行快速测试。 重要的是要注意Selenium将为您提供多种不同的方式来记住您调用了哪个html标记。 例如它可以仅调用页面上的特定ID。 但是当使用Liferay下的诸如JSF之类的门户系统时id值是即时生成的因此您需要记录一次测试然后再也无法成功运行它。 Selenium的一个非常不错的功能是您可以调用HTML xpath因此在Liferay示例中您的代码仍会找到需要单击的标记。 可以说我记录自己登录下面的页面… 现在由于此页面是使用liferay生成的因此我可以看到表单的输入文本ID为… input aria-requiredtrue classaui-field-input
aui-field-input-text aui-form-validator-error id_58_login
name_58_login typetext value / 由于Liferay下的JSF会非常定期地为此文本框创建一个新的ID我相信每次重启服务器尽管它可能会更频繁但我相信每次重启这意味着我们不能仅仅获取ID并挂接到它因为测试将只运行一次。 但是我们可以做的是通过直接使用html标签直接连接到liferay中因为每次Liferay加载JSF时它都不会不同。 我注意到我必须对Liferay中的每个页面使用相同的技术因为每次访问该页面时几乎所有通过JSF呈现的html的id都有一个不同的id。 然后我们可以从文件菜单File | File中将其导出到junit类。 将测试用例导出为…| Java / JUnit 4 / Web驱动程序它将为我们提供以下用于运行和测试的类。 import static org.junit.Assert.fail;import java.util.concurrent.TimeUnit;import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;public class TestExample {private WebDriver driver;private String baseUrl;private StringBuffer verificationErrors new StringBuffer();Beforepublic void setUp() throws Exception {driver new FirefoxDriver();baseUrl http://localhost:8080;driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);}Testpublic void testExample() throws Exception {driver.get(baseUrl /en_GB/web/myapp/home?p_p_id58p_p_lifecycle0p_p_statemaximizedp_p_modeviewsaveLastPath0_58_struts_action%2Flogin%2Flogin);driver.findElement(By.xpath(//span/input)).clear();driver.findElement(By.xpath(//span/input)).sendKeys(user);driver.findElement(By.xpath(//span[2]/span/span/input)).clear();driver.findElement(By.xpath(//span[2]/span/span/input)).sendKeys(pass);driver.findElement(By.xpath(//div/span/span/input)).click();}Afterpublic void tearDown() throws Exception {driver.quit();String verificationErrorString verificationErrors.toString();if (!.equals(verificationErrorString)) {fail(verificationErrorString);}}
} 参考我们的JCG合作伙伴 David Gray在Code Mumble博客上对Java中的Selenium和动态ID进行Java测试 。 翻译自: https://www.javacodegeeks.com/2013/06/java-testing-with-selenium-and-dynamic-ids-in-html.html