Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
was(如何在robotframework上调用javascript)在robotframework上,如何将字符串传递给javascript生成的变量_Javascript_Robotframework - Fatal编程技术网

was(如何在robotframework上调用javascript)在robotframework上,如何将字符串传递给javascript生成的变量

was(如何在robotframework上调用javascript)在robotframework上,如何将字符串传递给javascript生成的变量,javascript,robotframework,Javascript,Robotframework,我是个编码新手。这里我想使用robotframework,Selenium2库来测试我公司的软件。我需要模拟点击表操作,但是表的Xpath有一个问题,它是动态的,所以我需要用java脚本找到表的Xpath,然后把js生成的Xpath传递给一个变量,然后“点击元素${variable}” 但我有错误,这是回溯: > 15:06:18.139 INFO Executing JavaScript: variable=function getId(){ > 15:06:18.

我是个编码新手。这里我想使用robotframework,Selenium2库来测试我公司的软件。我需要模拟点击表操作,但是表的Xpath有一个问题,它是动态的,所以我需要用java脚本找到表的Xpath,然后把js生成的Xpath传递给一个变量,然后“点击元素${variable}”

但我有错误,这是回溯:

> 15:06:18.139  INFO    Executing JavaScript: variable=function getId(){    
> 15:06:18.141  DEBUG   POST
> http://127.0.0.1:63649/session/761829a0232d76a80dfb1dfce7546369/execute
> {"sessionId": "761829a0232d76a80dfb1dfce7546369", "args": [],
> "script": "variable=function getId(){"}    15:06:18.163   DEBUG   Finished
> Request    15:06:19.806   FAIL    WebDriverException: Message: unknown error:
> Runtime.evaluate threw exception: SyntaxError: Unexpected token ]
>     at Object.InjectedScript._evaluateOn (<anonymous>:875:140)
>     at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)
>     at Object.InjectedScript.evaluate (<anonymous>:664:21)   (Session info: chrome=46.0.2490.86)   (Driver info: chromedriver=2.14.313457
> (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 6.1 SP1
> x86_64) 15:06:19.807  DEBUG   Traceback (most recent call last):   File
> "<string>", line 2, in execute_javascript   File
> "C:\Python27\lib\site-packages\Selenium2Library\keywords\keywordgroup.py",
> line 15, in _run_on_failure_decorator
>     return method(*args, **kwargs)   File "C:\Python27\lib\site-packages\Selenium2Library\keywords\_javascript.py",
> line 97, in execute_javascript
>     return self._current_browser().execute_script(js)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",
> line 423, in execute_script
>     {'script': script, 'args':converted_args})['value']   File "C:\Python27\lib\site-packages\Selenium2Library\webdrivermonkeypatches.py",
> line 11, in execute
>     result = self._base_execute(driver_command, params)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",
> line 195, in execute
>     self.error_handler.check_response(response)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py",
> line 170, in check_response
>     raise exception_class(message, screen, stacktrace)
>15:06:18.139执行JavaScript:variable=function getId(){
>15:06:18.141调试岗
> http://127.0.0.1:63649/session/761829a0232d76a80dfb1dfce7546369/execute
>{“sessionId”:“761829a0232d76a80dfb1dfce7546369”,“args”:[],
>“脚本”:“变量=函数getId(){”}15:06:18.163调试完成
>请求15:06:19.806失败WebDriverException:消息:未知错误:
>Runtime.evaluate引发异常:SyntaxError:意外标记]
>在Object.InjectedScript._evaluateOn(:875:140)
>在Object.InjectedScript.\u evaluateAndWrap(:808:34)
>在Object.InjectedScript.evaluate(:664:21)(会话信息:chrome=46.0.2490.86)(驱动程序信息:chromedriver=2.14.313457
>(3D645C400EDF2E2C500566C9AA09063E707C9CF),平台=Windows NT 6.1 SP1
>x86_64)15:06:19.807调试回溯(最后一次调用):文件
>在执行javascript文件中的第2行“”
>“C:\Python27\lib\site packages\Selenium2Library\keywords\keywordgroup.py”,
>第15行,运行失败装饰器
>返回方法(*args,**kwargs)文件“C:\Python27\lib\site packages\Selenium2Library\keywords\\u javascript.py”,
>第97行,在execute_javascript中
>返回self.\u current\u browser()。执行脚本(js)文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,
>执行脚本中的第423行
>{'script':script,'args':已转换的_args})['value']文件“C:\Python27\lib\site packages\Selenium2Library\webdrivermonkeypatches.py”,
>第11行,执行中
>结果=self.\u base\u执行(driver\u命令,params)文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,
>第195行,执行中
>self.error\u handler.check\u响应(response)文件“C:\Python27\lib\site packages\selenium\webdriver\remote\errorhandler.py”,
>第170行,在check_响应中
>引发异常类(消息、屏幕、堆栈跟踪)

我敢猜测,您或其他人在运行测试的机器上更改了Selenium2Library的源代码。获取回溯是进行故障排除的最佳步骤。在运行测试以捕获回溯时,请使用
--loglevel DEBUG

您能显示完整的堆栈跟踪吗?此外,这似乎不是您的actu由于存在语法错误,您正在创建一个名为
${1111}=Execute JavaScript function getId()的关键字{
。你可能认为你在调用javascript,但整个字符串都在robot需要一个关键字名称的地方。是的,我想调用javascript。更重要的是,我正在尝试调用javascript,因为我不知道怎么做,请原谅,我只是robotframework的学习者。这是回溯:请不要放回溯在评论中。你可以编辑你的问题并将其添加到那里。不可能将其作为评论阅读。
> 15:06:18.139  INFO    Executing JavaScript: variable=function getId(){    
> 15:06:18.141  DEBUG   POST
> http://127.0.0.1:63649/session/761829a0232d76a80dfb1dfce7546369/execute
> {"sessionId": "761829a0232d76a80dfb1dfce7546369", "args": [],
> "script": "variable=function getId(){"}    15:06:18.163   DEBUG   Finished
> Request    15:06:19.806   FAIL    WebDriverException: Message: unknown error:
> Runtime.evaluate threw exception: SyntaxError: Unexpected token ]
>     at Object.InjectedScript._evaluateOn (<anonymous>:875:140)
>     at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)
>     at Object.InjectedScript.evaluate (<anonymous>:664:21)   (Session info: chrome=46.0.2490.86)   (Driver info: chromedriver=2.14.313457
> (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 6.1 SP1
> x86_64) 15:06:19.807  DEBUG   Traceback (most recent call last):   File
> "<string>", line 2, in execute_javascript   File
> "C:\Python27\lib\site-packages\Selenium2Library\keywords\keywordgroup.py",
> line 15, in _run_on_failure_decorator
>     return method(*args, **kwargs)   File "C:\Python27\lib\site-packages\Selenium2Library\keywords\_javascript.py",
> line 97, in execute_javascript
>     return self._current_browser().execute_script(js)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",
> line 423, in execute_script
>     {'script': script, 'args':converted_args})['value']   File "C:\Python27\lib\site-packages\Selenium2Library\webdrivermonkeypatches.py",
> line 11, in execute
>     result = self._base_execute(driver_command, params)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",
> line 195, in execute
>     self.error_handler.check_response(response)   File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py",
> line 170, in check_response
>     raise exception_class(message, screen, stacktrace)