TestCase类是我初始化驱动程序并调用url(urlhttp://www.amazon.in/")
public class TestCase {
InitializeDriver id = new InitializeDriver();
WebDriver driver = null;
@BeforeTest
public void setup()
{
id.invokeApplicationUrl();
driver = id.getDriver();
}
}
TC1是我去亚马逊登录页面的测试
public class TC1 extends TestCase {
@Test
public void runTC1 ()
{
GoToSignInPage gts = new GoToSignInPage(driver);
gts.clickElement();
}
}
进入登录页面的逻辑写入GoToSignPage
public class GoToSignInPage {
WebDriver driver;
public GoToSignInPage(WebDriver driver)
{
this.driver=driver;
}
InitialPage ip = new InitialPage(driver);
InitializeDriver id = new InitializeDriver();
public void clickElement()
{
Actions action = new Actions(driver);
//driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
JavascriptExecutor jse = (JavascriptExecutor)driver;
//ip.yourOrders(driver).click();
jse.executeScript("argument[0].style.border='3px dotted blue'", ip.yourOrders(driver));
action.moveToElement(ip.yourOrders(driver)).moveToElement(ip.signInBt(driver)).click().build().perform();
}
InitialPage 类具有所有必需的页面对象
public class InitialPage {
WebDriver driver;
public InitialPage(WebDriver driver)
{
this.driver = driver;
}
WebElement element ;
public WebElement yourOrders(WebDriver driver)
{
element = driver.findElement(By.id("nav-link-yourAccount"));
return(element);
}
public WebElement signInBt(WebDriver driver)
{
element = driver.findElement(By.xpath(".//*[@id='nav-flyout-ya-signin']/a/span"));
return(element);
}
}
错误如下:
org.openqa.selenium.WebDriverException: 未知错误: 参数未定义 (会话信息: chrome=56.0.2924.87) (驱动程序信息: chromedriver=2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf),平台 =Windows NT 6.3.9600 x86_64) (警告: 服务器未提供任何堆栈跟踪信息) 命令持续时间或超时: 22 毫秒 构建信息: 版本: '3.0.0-beta1', 修订版本: '8e4315c', 时间: '2016-07-28 18:04:05 -0700' 系统信息: 主机: 'VAIO', ip: '192.168.0.6', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_45' 驱动程序信息: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf), userDataDir=C:\Users\Akash\AppData\Local\Temp\scoped_dir6352_11834}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false,handlesAlerts=true, hasTouchScreen=false, version=56.0.2924.87, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: f74e69d9f66bab833287a8fd6f9d3021 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
你的错误来自执行这个JavaScript代码jse.executeScript(“argument[0].style.border='3px dotted blue'”
,尝试在浏览器(即Chrome)中加载网站,打开开发人员工具(F12),导航到控制台,输入相同的命令,你会得到同样的错误:
根据硒留档,
参数将通过“参数”变量提供给JavaScript。
在您的代码中,您使用参数[0]
而不是参数[0]
一个简单的解决方案是将jse.executeScript(“参数[0].style.border='3px点蓝色')更改为jse.executeScript(“参数[1].style.边框='3px点蓝色'),
问题内容: 在开发机器上,我的网站运行正常,但是在托管服务器上我遇到了javascript’Sys ‘未定义 错误,并且我的AJAX无法正常工作。 我在上面做了一个示例页面和脚本管理器,请仔细研究。 http://nexapps.com/default2.aspx 按钮和文本框位于AJAX updatepanel中,但是当单击按钮页面时,将回发完整。 注意:托管服务器-IIS7,但我的其他网站在同
error-driver=webdriver.firefox()文件“/users/grey/.pyenv/versions/3.7.3/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver/firefox/webdriver.py”,第164行,在init self.service.start()文件“/users/gr
问题内容: 我在中定义了一个macrodef ,并用来完成这项工作。在这种情况下,我正在验证。 问题是没有检索传递的属性的值。有人知道您如何从javascript中获取属性的值吗? 问题答案: 原来我使用了错误的标签类型。为了使用脚本定义蚂蚁任务,我应该使用not 。使用预定义的对象可以访问任务中的属性和嵌套元素。 这适用于从Ant中的javascript访问属性:
我正在尝试探索在测试中添加咆哮通知的功能。这允许在测试执行时将消息添加到屏幕上。 我正在尝试通过以下步骤指定的这种方法:http://elementalselenium.com/tips/53-growl 机器:windows 10 Selenium版本:2.53浏览器:Firefox 49 以下是我正在使用的脚本: 执行此操作时,我收到以下错误: 等待弹出窗口出现..单击弹出窗口..现在等待通知
我是新手,所以请帮忙。我在尝试使用angular with angular ng controller标记运行简单代码时出错,我在html中显示一个变量,该变量在javascript文件中定义为: 并在html中显示如下:html页面 chrome控制台上的错误如下: 未捕获的引用错误:系统未定义(匿名函数)@angular2.js:3098 指向angular2js中的某些函数: 我不明白这个问