标签: canopy-web-testing

如何更改F#Canopy UI测试脚本中的下拉列表

我真的很高兴使用Canopy Web Testing来测试我的带有F#的.NET Web应用程序.但是文档很少.我正在寻找一个关于如何更改HTML select标记以根据value选项选择元素的提示.

现在,我所能做的就是click从Canopy 调用事件,然后press down在我的测试中触发正确的次数以获得正确的元素.当然,这意味着如果下拉列表中的元素数量发生变化,我的测试都会中断.

有没有人知道如何使用option标签的值在UI中选择它?

asp.net testing f# canopy-web-testing

10
推荐指数
1
解决办法
1092
查看次数

错误MSB4102:元素<Import>中"Project"属性的值""无效.参数"path"的长度不能为零.F#

我在Team city中构建项目时遇到以下错误.

同一个项目正在本地机器上构建.本地机器有VS 2015和F#4.0.

我的项目配置如下.

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />


    <Choose>
        <When Condition="'$(VisualStudioVersion)' == '11.0'">
          <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets')">
            <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\4.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
          </PropertyGroup>
        </When>
        <Otherwise>
          <PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
            <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
          </PropertyGroup>
        </Otherwise>
      </Choose>
      <Import Project="$(FSharpTargetsPath)" />
Run Code Online (Sandbox Code Playgroud)

这是控制台应用程序.

teamcity f# canopy-web-testing

9
推荐指数
1
解决办法
6814
查看次数

我希望Canopy网络测试结果能够在VS 2013测试资源管理器中显示...而且我很接近

我正在试图弄清楚如何让Canopy的测试结果显示在VS测试资源管理器中.我可以让我的测试出现,它会运行它们,但它总是显示通过.似乎Run()函数正在"吃掉"结果,所以VS永远不会看到失败.

我确信Canopy如何很好地解释它进入测试结果的异常之间存在冲突,因为通常你希望Run()无论结果如何都能成功并使用自己的报告报告其结果.

也许我应该重定向输出并在MS测试代码中解释它?

所以这就是我现在设置的方式......

Visual Studio Test Runner查看此文件以查看其所见的测试,这些调用称为执行实际测试的canopy方法.

open canopy
open runner
open System
open Microsoft.VisualStudio.TestTools.UnitTesting

[<TestClass>]
type testrun() = 

    // Look in the output directory for the web drivers    
    [<ClassInitialize>]
    static member public setup(context : TestContext) =
        // Look in the output directory for the web drivers    
        canopy.configuration.ieDir <- "."
        canopy.configuration.chromeDir <- "."

        // start an instance of the browser
        start ie
        ()

    [<TestMethod>]
    member x.LocationNoteTest() =
        let myTestModule = new myTestModule()
        myTestModule.all()
        run()


    [<ClassCleanup>]
    static member public cleanUpAfterTesting() …
Run Code Online (Sandbox Code Playgroud)

f# test-explorer visual-studio-2013 canopy-web-testing

8
推荐指数
1
解决办法
581
查看次数

冠层 - 使用选择列表

我刚刚开始与Canopy合作,并且正在努力选择列表.我知道你可以通过以下方式按值设置所选项目:

"#dropDown" << read "option[value='x']"
Run Code Online (Sandbox Code Playgroud)

但是,如何选择选择列表的第n个元素>或者,如何通过文本进行选择?我似乎无法在文档中找到任何内容.

f# selenium-webdriver canopy-web-testing

5
推荐指数
1
解决办法
329
查看次数

如何在浏览器堆栈中使用Canopy

我一直是f#测试库Canopy的用户,它的工作原理很棒。但是我不知道如何让它针对浏览器堆栈上的浏览器。我确实找到了这个,但是有可能。

twitter.com/bryan_hunter/status/423352533877153792

f# canopy-web-testing

3
推荐指数
1
解决办法
264
查看次数

具有功能语言的UI自动化

有没有人有功能语言编写UI自动化的例子或经验?我正在学习F#以更好地理解功能概念,我很难弄清楚如何用函数式语言构建自动UI测试 - 似乎很容易使用我在Java中使用的相同页面/屏幕对象模式或C#,但由于缺乏经验,我很好奇,如果我错过了不同的方法.

testing f# ui-automation canopy-web-testing

3
推荐指数
1
解决办法
1359
查看次数

使用F#和Canopy进行现场抓取

我正在尝试使用F#和Canopy编写一个简单的刮刀(参见http://lefthandedgoat.github.io/canopy/).我试图从类".application-tile"中提取所有元素的文本.但是,在下面的代码中,我得到以下构建错误,我不明白.

This expression was expected to have type
    OpenQA.Selenium.IWebElement -> 'a    
but here has type
    OpenQA.Selenium.IWebElement
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?谢谢!

open canopy
open runner
open System

[<EntryPoint>]
let main argv = 
    start firefox

    "taking canopy for a spin" &&& fun _ ->
        url "https://abc.com/"

        // Login Page
        "#i0116" << "abc@abc.com"
        "#i0118" << "abc"
        click "#abcButton"

        // Get the Application Tiles -- BUILD ERROR HAPPENS HERE
        elements ".application-tile" |> List.map (fun tile -> (tile |> (element ".application-name breakWordWrap"))) |> ignore

    run()
Run Code Online (Sandbox Code Playgroud)

f# canopy-web-testing

3
推荐指数
1
解决办法
1936
查看次数