如果我运行该文件的HTML版本,它可以在慢速模式下运行(但快速失败)。
我尝试对java使用setspeed方法,但这不起作用(可能是因为它在以后的版本中被折旧)。然后我尝试添加手动线程重量时间(在它失败的位置之前),但它也失败了。
无论如何,这是我的java代码:
import com.thoughtworks.selenium.Selenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.thoughtworks.selenium.SeleneseTestBase;
public class tradePagesNotLoad extends SeleneseTestBase{
private Selenium selenium;
@Before
public void setUp() throws Exception {
WebDriver driver = new FirefoxDriver();
String baseUrl = "http://www.fsdafdscsa.com/";
selenium = new WebDriverBackedSelenium(driver, baseUrl);
}
@Test
public void testA9() throws Exception {
selenium.open("");
selenium.click("link=Sign In");
selenium.waitForPageToLoad("30000");
selenium.type("id=login_username", "fsadfsa");
selenium.type("id=login_password", "asweqr");
selenium.click("name=login_button");
selenium.waitForPageToLoad("30000");
verifyTrue(selenium.isElementPresent("link=Sign Out"));
selenium.click("link=Trade");
selenium.waitForPageToLoad("30000");
String sellButtonText = selenium.getText("xpath=(//button[@type='button'])[7]");
System.out.println(sellButtonText);
assertNotEquals("Loading...", selenium.getEval("storedVars['sellButtonText']"));
String buyButtonText = selenium.getText("xpath=(//button[@type='button'])[8]");
System.out.println(buyButtonText);
assertNotEquals("Loading...", selenium.getEval("storedVars['buyButtonText']"));
String bidPrice = selenium.getText("id=pretty_bid_price");
System.out.println(bidPrice);
assertNotEquals("Loading...", selenium.getEval("storedVars['bidPrice']"));
String askPrice = selenium.getText("id=pretty_ask_price");
System.out.println(askPrice);
assertNotEquals("Loading...", selenium.getEval("storedVars['askPrice']"));
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
代码在第一个assertNotEquals失败。任何建议,将不胜感激。
答案 0 :(得分:0)
我对Java和Selenium不太熟悉,但对我而言,您似乎正在尝试访问存储在字符串中的storedVars数组中的某些内容:
String sellButtonText = selenium.getText("xpath=(//button[@type='button'])[7]");
然后再
assertNotEquals("Loading...", selenium.getEval("storedVars['sellButtonText']"));
如果你想使用selenium.store
数组,你不应该使用像storedVars
这样的东西吗?
答案 1 :(得分:0)
在我的java自动化框架中,我使用WebDriver $ Timeouts.class接口 - implicitlyWait(长时间,TimeUnit单元)方法。在您的情况下,恰好在初始化对象Webdriver的实例后,粘贴以下代码:
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
此方法指定驱动程序在搜索元素时应等待的时间(如果不是立即存在)。
希望这有帮助。
答案 2 :(得分:0)
尝试动态等待页面上的内容加载。
OrderController
然后也按照答案之一中的说明尝试。
selenium.wait("id=login_username")
您可以通过增加秒数来进行游戏。取决于页面加载所需的sla。即,某些页面的加载时间可能超过30秒。