我搜索了很多,但我沒有得到答案...是否有可能包括(附加,或其他)sikuli(使用DLL或其他東西,一些代碼)進入在visual studio 2010中用c#寫的selenium webdriver測試包括sikuli到C#webdriver selenium
1
A
回答
1
您是否嘗試過使用Sikuli from command line?
我不知道Selenium是否內置了對運行外部工具的支持,但在C#中使用Process對象啓動另一個程序並等待其結束非常容易。
int exitCode;
var processInfo = new ProcessStartInfo(@"c:\pathto\sikuli.exe", "-parameters for command line");
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
Process process = Process.Start(processInfo);
process.WaitForExit();
exitCode = process.ExitCode;
process.Close();
0
所以...這是我第一個想到的方法。
使用藍鴨SDA: http://sda.blueducktesting.com/index.php
無論你來自硒希望(通過AutoIt的),這樣,您就可以執行。
接下來,您將需要Sikuli的Pass/Fail輸出。使用這個包裝: http://code.google.com/p/simplesikuli/wiki/UsageDetails
您可能會也可能不需要查看/使用該簡單包裝器使用的完整Robot Framework。 http://code.google.com/p/robotframework/
祝你好運。
5
我用這樣的:
internal bool FillSingleRow()
{
return RunTest("Stryktipset_singleRow.sikuli");
}
public static bool RunTest(string sikuliTest)
{
var sikuliHome = Environment.GetEnvironmentVariable("SIKULI_HOME");
var execDir = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
for (var i = 0; i < 2; i++)
{
var tempDir = execDir.Parent;
if (tempDir != null)
{
execDir = tempDir;
}
}
Sikuli.StartInfo.UseShellExecute = false;
Sikuli.StartInfo.RedirectStandardError = true;
Sikuli.StartInfo.RedirectStandardInput = true;
Sikuli.StartInfo.RedirectStandardOutput = true;
Sikuli.StartInfo.WorkingDirectory = sikuliHome;
Sikuli.StartInfo.CreateNoWindow = true;
Sikuli.StartInfo.Arguments = "-jar sikuli-script.jar -s " + '\u0022' + execDir.FullName + "\\Sikuli\\" + sikuliTest + '\u0022';
Sikuli.StartInfo.FileName = "java.exe";
Sikuli.Start();
var so = Sikuli.StandardOutput;
var se = Sikuli.StandardError;
var error = se.ReadToEnd();
if (error != string.Empty)
{
TestLog.Write(error);
return false;
}
else
{
return true;
}
}
1
剛剛完成的放在一起,通過一個Web服務公開Sikuli的核心功能的Java應用程序。然後,通過編寫一個調用此Java應用程序的「客戶端」庫,我可以在幾乎完全集成的情況下從C#測試中成功調用Sikuli。不是通過命令行運行速度更快
https://sourceforge.net/projects/sikuli4net/
噸(那是我的先前的溶液中,並且通常它上漲了大約一個額外的30秒的測試),以及客戶端庫自動解析從工具的響應,所以你不需要對結果做任何字符串操作!
希望它可以幫助 - 我知道這是不是Sikuli的精確端口,但希望它會得到你所需要的,
0
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using Sikuli4Net.sikuli_REST;
using Sikuli4Net.sikuli_JSON;
using Sikuli4Net.sikuli_UTIL;
using System.Threading;
using Newtonsoft.Json;
namespace UnitTestProject3
{
[TestClass]
public class UnitTest1
{
APILauncher launcher = new APILauncher();
Pattern element1 = new Pattern(@"C:\myfolderforscreens\1.png");
[Test]
public void TestMethod1()
{
launcher.Start();
Thread.Sleep(8000);
Screen test = new Screen();
test.DoubleClick(element1);
}
}
}
試試這個,應該工作。 p.s.您需要安裝Json - 版本「6.0.5」,設置Java_Home和Sikuli_Home
相關問題
- 1. 設置c#Selenium webdriver到Jenkins
- 2. Selenium WebDriver C#和Omnibug
- 3. 在Selenium-Webdriver中使用Sikuli的Java變量
- 4. IE XPath的Selenium Webdriver - c#
- 5. Selenium Webdriver與Java與C#
- 6. selenium webdriver C#多線程
- 7. 使用分頁(Selenium webdriver C#)
- 8. 面對問題的Safari 5和硒的webdriver由包包括
- 9. 識別Sikuli/Selenium的輸入
- 10. 集成Selenium Grid和Sikuli API
- 11. Selenium Webdriver
- 12. VS2012 LibRTMP包括c到c + +
- 13. 從Selenium RC遷移到Webdriver
- 14. selenium ide導出到webdriver java
- 15. 滾動到Selenium Webdriver(Python)
- 16. Selenium WebDriver:登錄到網站
- 17. 找不到selenium webdriver元素
- 18. sikuli + selenium + java:需要了解sikuli的工作原理
- 19. 包括外部庫到C
- 20. C++找不到包括
- 21. 如何使用PhantomJS實現Selenium WebDriver,並且可以使用Sikuli與PhantomJS?
- 22. 我可以整合Sikuli和Selenium webdriver用於flash和非flash元素
- 23. Selenium WebDriver和Selenium服務器
- 24. Selenium Webdriver-javaillegalstateexception
- 25. Selenium WebDriver與Perl
- 26. Selenium Webdriver Turbolinks
- 27. Selenium WebDriver Session
- 28. Selenium Webdriver Node.js
- 29. Selenium webdriver和unicode
- 30. Selenium WebDriver Firefox