2015-01-08 45 views
0

我想在C#中使用SikuliIntegrator。 我以管理员身份运行VS,通过NuGet管理器安装SikuliIntegrator并希望在简单的任务上测试他。Sikuli Integrator C#

继承人我的代码

using SikuliModule; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace SikuliTrainingNet 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string MyPicture = @"c:\111\Sik\MyPicture.png"; 
      SikuliAction.Click(MyPicture); 
     } 
    } 
} 

运行的代码(和已经准备在屏幕上MyPicture)后,我得到的是例外“###故障”任何想法,为什么?

我不想使用Sikuli4Net,因为它看起来像它在web aps上工作,我只需要几个简单的点击桌面应用程序。

我在Java中尝试sikuli,它在那里工作没有问题。但我需要用C#编写我的程序。

+0

尝试使用意见[这里](HTTPS: //qaagent.wordpress.com/2013/07/17/how-to-use-sikuli-in-my-c-coded-tests/),或者只是添加一个与您的问题。 – Moshisho

回答

0

我用这个代码,它工作正常。首先,你应该打开要单击,然后给图像的路径(这应该是网页的一部分)

这里是我的代码网页:

using System; 
using System.Collections.Generic; 
using System.Drawing; 
using System.Linq; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using SikuliModule; 
using OpenQA.Selenium; 

namespace WordPressAutomation.DifferentTests 
{ 
    [TestClass] 
public class Sikuli 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     driver.Initialize(); 
     driver.instance.Navigate().GoToUrl("https://www.google.co.in"); 
     SikuliAction.Click("E:/img.png"); 
    } 
} 
} 
0

要使用SikuliInyegrator,你需要检查执行结果在这些文件中:

C:\SikuliExceptionLog.txt 
C:\SikuliOutputLog.txt 

另外你需要:

  • 已安装JRE7或优于
  • 根据你的java JRE运行时平台有无环境变量PATH与x86和x64位bin
  • 查看安装在“控制面板>程序和功能>视觉C++ 2010再发行组件包”的位置。如果没有,那么请下载并安装可再发行组件包的Microsoft网站。
0

我使用此代码为Sikuli4Net在C#中,这是为我工作,首先您需要添加引用请参阅此链接参考 http://interviews.ga/angularjs/sikulic/

static void Main(string[] args) 
     { 
      APILauncher launch = new APILauncher(true); 

      Pattern image1 = new Pattern(@"C:\Users\Ramesh\Desktop\Images\userName.png"); 
      Pattern image2 = new Pattern(@"C:\Users\Ramesh\Desktop\Images\password.png"); 
      Pattern image3 = new Pattern(@"C:\Users\Ramesh\Desktop\Images\Login.png"); 

      launch.Start(); 

      IWebDriver driver = new ChromeDriver(); 

      driver.Manage().Window.Maximize(); 

      driver.Url = "http://gmail.com"; 

      Screen scr = new Screen(); 

      scr.Type(image1, "[email protected]", KeyModifier.NONE); 

      scr.Type(image2, "12345", KeyModifier.NONE); 

      scr.Click(image3, true); 

      Console.ReadLine(); 
     }