微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium C# 自动化测试断言文件已在 azure devops 版本上下载

如何解决Selenium C# 自动化测试断言文件已在 azure devops 版本上下载

我目前正在本地计算机上运行我的自动化测试。 我正在考虑将它们发布到 azure devops 并在那里运行所有测试。 在我的一项测试中,我声明应该下载、检查和删除文件的位置。虽然它在我通过 Visual Studio 在本地运行测试时工作但是当测试在 Azure 中运行时我得到 System.IO.DirectoryNotFoundException : 找不到路径“C:\Users\Downloads”的一部分。 似乎是什么问题? 谢谢。我的代码如下

var filedownload = driver.FindElement(WebObjects.downloadThefile);
            Assert.IsTrue(downloadThefile.Enabled);
            downloadThefile.Click();

            System.Threading.Thread.Sleep(3000);

            int fileIsDownloaded = Directory.GetFiles(@"C:\Users\Downloads\","*.pdf",SearchOption.AllDirectories).Length;
            if (fileIsDownloaded > 0)
            {
               Assert.IsTrue(fileIsDownloaded > 0);
            }
            else
            {
                Assert.IsTrue(fileIsDownloaded < 0);
            }
            string[] downloadedFiles = Directory.GetFiles(@"C:\Users\Downloads\","*.pdf");
            foreach (string file in downloadedFiles)
            {
                File.Delete(file);
            }
        }
    }
}

解决方法

有没有办法运行一个测试来断言并验证某个文件已被下载?

此功能应写入存储库而不是 Azure DevOps,在您的描述中,您已完成此操作。你可以随意在 Azure DevOps 中运行测试,它应该可以工作。您可以参考此 blog 在 Azure DevOps 中创建 Selenium 测试管道。

,

设法将下载路径设置为 int fileIsDownloaded = Directory.GetFiles(AppContext.BaseDirectory,"*.pdf",SearchOption.AllDirectories).Length;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。