51Testing软件测试论坛
标题:
求助:回放selenium,其提示无法找到对象
[打印本页]
作者:
秦菲
时间:
2013-7-9 17:53
标题:
求助:回放selenium,其提示无法找到对象
环境:浏览器:IE8.0
编程工具:eclipse
系统界面技术:extjs
想要做的操作:实现下拉动作
[attach]86197[/attach][attach]86197[/attach]
脚本展示:
import static org.junit.Assert.*;
import Login.Login_Center;
import org.junit.Test;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
import org.junit.Before;
import java.util.regex.Pattern;
public class Workflow_Portfolio extends Login_Center {
public static void main(String[] agrs){
Workflow_Portfolio w = new Workflow_Portfolio();
w.test();
w.workflow_port();
}
@Test
public void test(){
super.setUp();
}
public void workflow_port(){
selenium.click("xpath=//div[@class='ux-desktop-shortcut-icon workflow-manager-shortcut']");
try {
Thread.sleep(6000);//为了实现等待,可是觉得这个方法不好,还在找更好的方法
selenium.click("xpath=//input[@id='mixedportfoliocombo-1244-inputEl']");//运行到这个的时候,就会报错
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
运行脚本,报错信息ERROR: Element xpath=//input[@id='mixedportfoliocombo-1244-inputEl'] not found
用FireBug获取对象信息:[attach]86198[/attach]
用Xpath能对位到该对象:[attach]86199[/attach]
请大家多多帮忙,先谢谢了
作者:
joykao
时间:
2013-7-10 12:46
不用xpath呢?那个元素不是有id么?为什么不直接用id去找元素?而且貌似你xpath 找到的元素和你截图中的元素又差别啊?xpath找个的是个文本框,但是貌似你需要的元素是个下拉列表哎。。。。
作者:
goal1860
时间:
2013-7-11 08:53
我 猜测id是动态的,每次都不一样,所以回放会失败。
作者:
秦菲
时间:
2013-7-15 11:40
恩,元老说的对,ID是变化的,因为界面技术用的是extjs
作者:
秦菲
时间:
2013-7-15 11:43
回复
2#
joykao
这个输入框和下拉按钮是一个组合,也就是说无论你是点击下拉按钮还是点击输入框,其都会出现下拉内容
我有用程序去点击下拉按钮,可效果是既不报错,也没有实现下拉这个动作
作者:
joykao
时间:
2013-7-15 13:22
回复
5#
秦菲
好吧。。。。
如果是因为id一直是动态变化的,导致识别不了对象,我建议你用Chrome 下的psychoXpath 插件,用short 方法找到最简化的路径就可以了,也许可以避开你的id一直变化的问题,或者可以用其它的方法比如cssSelector么?或者className吗?
付插件地址:
https://chrome.google.com/websto ... kmojlopmelmhgpbndog
作者:
秦菲
时间:
2013-7-17 17:58
好的,谢谢元老
作者:
秦菲
时间:
2013-7-17 18:02
回复
6#
joykao
其实我都有试过classname之类的来解决这个问题
可是extjs恶心到连这些都是随时变的,伤心郁闷的我,现在决定用selenium2.0来试着解决问题
十分谢谢元老哈
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2