SWTBot Recorder生成的代码不是绝对的

时间:2015-03-09 10:06:59

标签: eclipse eclipse-plugin swtbot

我正在自己的应用程序中尝试SWTBot。我正在尝试使用SWTBot Recorder首先创建我的测试用例。但我面临的问题很少。

我有两个问题。请查看我在下面的每个评论中提到的评论。

  1. 我有一个表视图。它包含我从csv文件导入的数据。以下是SWTBot给我的代码。

    bot.menu("File").menu("New...").click();
    bot.tree().getTreeItem("AppName").select();
    bot.tree().getTreeItem("AppName ").select();
    bot.textWithLabel("IP Version:").setText("Sample");
    bot.text(1).setText("App");
    bot.text(2).setText("1");
    bot.textWithLabel("*").setText("Hello");
    bot.button("Finish").click();
    bot.tree().getTreeItem("Sample").expand();
    bot.tree().getTreeItem("Sample").getNode("App(1)").expand();
    

    bot.tree().getTreeItem("Sample").getNode("App(1)").getNode("Hello").select();

    bot.contextMenu("Open Application Metadata File").click();
    // I choose the location of my .csv file – which is also not recorded in this.
    bot.text().setText("3.35"); //Edited data from the table – No mention of which row and which column. 
    bot.text().setText("3.3");
    bot.text().setText("Synthesiss");
    
  2. 有没有办法提到我正在处理的表格的哪一行和哪一列?

    1. 我有两个复合SashForm。每个Composite包含几乎相同数据和相同按钮名称的网格。当我尝试运行SWTBot Recorder并尝试点击Grids时,它并没有说我现在正在处理哪个Grid。以下是产生的代码。

      bot.menu("AppName").menu("Open Config").click();
      bot.button("Load").click(); //clicked from Composite 1
      bot.button("Load").click(); //clicked from Composite 2
      bot.tree().getTreeItem("").select(); //clicked from Grid of Composite 1 – Text not detected
      bot.tree().getTreeItem("").select();//clicked from Grid of Composite 1 – Text not detected
      bot.menu("QConnect+").menu("Close Config").click();
      
    2. 是否有可能SWTBot找到我正在处理的复合? 例如,SashForm存在于标签内,就像“Package Explorer”一样。 SWTBot如何识别它正在处理哪个选项卡。

      SWTBot产生的测试是绝对的吗?如果有任何解决方案,请告诉我,我在哪里可以找到它。

1 个答案:

答案 0 :(得分:0)

对于你的第一个问题,而不是bot.text()。setText(" 3.35")你应该尝试bot.styledText()。insertText(line,column,text);