我想运行一个宏,让我们从WorkSheet02上的WorkSheet01中调用它.
使用Microsoft.Office.Interop.Excel命名空间我打开了一个WorkSheet01.
public void Main_CodedStep()
{
// Object for missing (or optional) arguments.
object oMissing = System.Reflection.Missing.Value;
// Create an instance of Microsoft Excel
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
// Make it visible
oExcel.Visible = true;
// Open Worksheet01.xlsm
Excel.Workbooks oBooks = oExcel.Workbooks;
Excel._Workbook oBook = null;
oBook = oBooks.Open("C:\\Users\\Admin\\Documents\\Worksheet01.xlsm", oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
}
Run Code Online (Sandbox Code Playgroud)
然后我使用自动脚本来提取报告.此报告是通过IE的下载提示而不是Interop打开的.
当我尝试通过C#运行宏时出现了问题(我创建了另一个新的Excel.ApplicationClass();只有这样才编译,我相信这是我的失误之一.)
public void FirstMacro_CodedStep()
{
// Create an instance of Microsoft Excel …Run Code Online (Sandbox Code Playgroud) 简短版本:
我希望确保请求URL(部分匹配)(客户端).
长版:
我希望自动化部分测试.目前我使用Fiddler2手动验证.
这是场景:
我想在C#中验证步骤2是通过进行部分匹配(例如包含{string})来实现的.
问题:
我应该怎么做?我已经开始研究HttpWebRequest课程FiddlerCore,但我喜欢使用最简单的代码(所以其他团队成员如果需要更新)会让我问一下StackOverflow的用户会推荐什么.
我有一个方法为 WebView 的 WebEngine 设置一个新网页,该网页需要等到页面加载完成才能继续当前方法。
本质上我想要:
MyMethod()
{
navigateToNewUrl();
waitForPageToLoad(); // This is the part I am struggling with
doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 ChangeListener() 但它只会在我的方法完成执行后执行。我在谷歌上搜索了许多导致更多挫败感的术语,例如“java非阻塞等待布尔值”。最终我做到了启动新线程(以防止应用程序 GUI 锁定)并使用 CountDownTimer (而不是 Thread.join() )。下面的代码是我无数次尝试获得我想要的东西。
public static Boolean pageLoaded;
public volatile static CountDownLatch latch;
private static void TestMethod()
{
// Set the CountDownLatch
latch = new CountDownLatch(1);
// Set the page loaded flag
pageLoaded = false;
// Navigate to new window
myWebView.getEngine().load("https://www.google.com/");
// Call a method, that starts a thread, that checks if the page …Run Code Online (Sandbox Code Playgroud)