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