标签: automation

通过Selenium进行类似人类的鼠标移动

故事:

解决验证码的方法之一,如谷歌ReCaptcha,是试图模仿人类鼠标动作:动作,悬停和点击.

一些用户报告说,将鼠标移动作为B样条曲线可以为它们工作.

问题:

如何通过Selenium将鼠标移动到B样条轨迹之后的特定元素?


请注意,常规browser.actions().mouseMove(elm).perform();会直接"跳"到元素并且太快.我的理解是,这是一个减慢运动速度的问题,在B样条轨迹的数学模型之后,从一点到另一点平滑地"跳跃".

我们使用的是Protractor/JavaScript,但问题实际上与语言无关. 请注意,我并不是要尝试解决验证码,也不是为了"使用验证码解决新恶意机器人在这里和那里违反使用条款"的空间.我只是好奇并渴望在测试自动化领域获得更多技能.

selenium automation bots selenium-webdriver protractor

39
推荐指数
1
解决办法
8719
查看次数

自动生成.NET单元测试

有单元测试生成这样的东西吗?如果是这样...

......它运作良好吗?

... .NET可用的自动生成解决方案是什么?

......有使用这种技术的例子吗?

...这仅适用于某些类型的应用程序,还是可以用来替换所有手动编写的单元测试?

.net c# automation automated-tests unit-testing

38
推荐指数
3
解决办法
3万
查看次数

如何在Windows 7中查找已安装应用程序的UpgradeCode和ProductCode

我的机器上安装了一个应用程序.我也有它的源代码,但不知何故,此应用程序的ProductCode和UpgradeCode已更改.

现在我想获得这个已安装应用程序的UpgradeCode和ProductCode.我觉得必须有一些工具.

谁能告诉我如何获得已安装应用程序的UpgradeCode和ProductCode?

installer automation windows-installer wix msiexec

37
推荐指数
5
解决办法
14万
查看次数

处置Microsoft.Office.Interop.Word.Application

(从帖子中得到一些后续内容(仍然没有答案):https://stackoverflow.com/q/6197829/314661)

使用以下代码

Application app = new Application();
_Document doc = app.Documents.Open("myDocPath.docx", false, false, false);
doc.PrintOut(false);
doc.Close();
Run Code Online (Sandbox Code Playgroud)

我试图以编程方式打开并打印文件.

问题是每次运行上面的代码时都会启动一个新的WINWORD.exe进程,很明显这会很快占用所有内存.

应用程序类似乎不包含dispose/close或类似方法.

经过一番研究后我(实现了)并将代码更改为以下内容.

 Application app = new Application();
 _Document doc = app.Documents.Open(fullFilePath + ".doc", false, false, false);
 doc.PrintOut(false);
 doc.Close();
 int res = System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
 int res1 = System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
Run Code Online (Sandbox Code Playgroud)

我可以看到剩余的引用计数为零,但过程仍然存在?

PS:我正在使用Microsoft.Office.Interop库的第14版.

c# automation interop office-interop

37
推荐指数
4
解决办法
7万
查看次数

Screenreader WPF Groupstyles

我试图AutomationProperties.NameGroupStyle控件模板中设置控件的属性,它似乎什么也没产生.我把它设置Expander在我的模板中,但即使我只是放入一些没有绑定的文本,它也没有任何说明.我也试过把一个二传手放在上面GroupItem,但也没用.我有点失落.我希望小组项目上的属性可以解决它.

XAML:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="WpfApplication8.MainWindow"
        x:Name="win"
        Title="MainWindow"
        Width="640"
        Height="480">

  <Grid x:Name="LayoutRoot">
    <ListBox x:Name="lstbx"
             Margin="71,45,99,78"
             ItemsSource="{Binding ElementName=win,
                                       Path=Samples}">
      <ListBox.GroupStyle>
        <GroupStyle>
          <GroupStyle.ContainerStyle>
            <Style TargetType="{x:Type GroupItem}">
              <Setter Property="AutomationProperties.Name"
                      Value="this is a test" />
              <Setter Property="KeyboardNavigation.TabNavigation"
                      Value="Cycle" />
              <Setter Property="Template">
                <Setter.Value>
                  <ControlTemplate TargetType="{x:Type GroupItem}">
                    <Expander Name="templateLstBxExpander"
                              AutomationProperties.Name="test test test"
                              IsExpanded="True">

                      <Expander.Header>
                        <StackPanel Orientation="Horizontal">
                          <Label Name="templateLstBxExpanderHeader"
                                 Content="{Binding Path=Name}"
                                 FontWeight="Bold" />
                        </StackPanel>
                      </Expander.Header>
                      <ItemsPresenter />
                    </Expander>
                  </ControlTemplate>
                </Setter.Value>
              </Setter>
            </Style>
          </GroupStyle.ContainerStyle>
        </GroupStyle>
      </ListBox.GroupStyle>
    </ListBox>
  </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

XAML.cs: …

c# wpf automation screen-readers

37
推荐指数
1
解决办法
945
查看次数

通过浏览器记录http表单帖子

我正在尝试自动登录网站并提交表单.

是否有一个浏览器插件(用于Firefox或Chrome)允许您以允许它们稍后播放的形式记录HTTP GET和POST请求?我正在寻找可以通过脚本自动化的东西,例如通过curl或wget.

我尝试使用Chrome开发人员工具来捕获POST表单数据但是在尝试使用wget复制请求时出现错误,这表明我缺少一些cookie或其他参数.理想情况下,这样做会有一种很好的自动化方式,而不是进行大量的反复试验.

forms post automation http

36
推荐指数
4
解决办法
5万
查看次数

C#(.NET)的无头浏览器?

我是一名正在构建GUI Web抓取应用程序的Python开发人员.最近我决定迁移到.NET框架并在C#中编写相同的应用程序(这个决定不是我的).

在Python中,我使用了Mechanize库.但是,我似乎无法在.NET中找到类似的东西.我需要的是一个以无头模式运行的浏览器,它能够填写表单,提交表单等.JavaScript解析器不是必须的,但它会非常有用.

.net c# browser automation web-scraping

36
推荐指数
3
解决办法
4万
查看次数

如何在excel表中获取被占用单元格的范围

我使用C#来自动化excel文件.我能够获得它包含的工作簿和工作表.例如,我在sheet1中有两个cols和5行.我希望o获得被占用单元格的范围为A1:B5.我尝试了以下代码,但没有给出正确的结果.列#和行#更大,单元格也是空的.

     Excel.Range xlRange = excelWorksheet.UsedRange;
     int col = xlRange.Columns.Count;
     int row = xlRange.Rows.Count;
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以用来获得该范围?

c# excel automation

35
推荐指数
3
解决办法
10万
查看次数

在MSTest中,如何使用[ExpectedException(typeof(ApplicationException))]验证确切的错误消息

使用MSTest如何验证来自测试方法的确切错误消息?我知道[ExpectedException(typeof(ApplicationException), error msg)]不会比较来自我的测试方法的错误消息,尽管在其他单元测试框架中它正在做.

解决这个问题的一种方法是使用一些try catch块编写单元测试,但是我需要再写4行.

有没有最聪明的方法来检查错误消息.

干杯,Pritam

automation unit-testing mstest

35
推荐指数
7
解决办法
9577
查看次数

傀儡中有迭代器和循环吗?

当我定义(?)资源时,例如为了确保dir结构,是否有可用的循环?

像那样:

  for X in [app1,app2] do:
    file { '/opt/app/' + X:
      ensure => directory,
      owner  => 'root',
      group  => 'root',
      mode   => '0644',
    }
Run Code Online (Sandbox Code Playgroud)

我有几十个目录,我真的厌倦了在木偶中宣布它...它需要15 LOC的bash.

有任何想法吗?

deployment automation puppet

35
推荐指数
2
解决办法
4万
查看次数