首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加数量的C#保存屏幕截图

增加数量的C#保存屏幕截图
EN

Stack Overflow用户
提问于 2016-01-06 17:01:41
回答 1查看 159关注 0票数 0

我创建了一个不同的类,叫做截图。下面是我的代码

Program.cs

代码语言:javascript
复制
static int i=1;  
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(InternetExplorerDriver))]
[TestFixture(typeof(ChromeDriver))]
public class TestWithMultipleBrowsers<TWebDriver> where TWebDriver : IWebDriver, new()
        {
           [Test]
            public void Initialize()
            {

                PropertiesCollection.driver = new TWebDriver();
                CredentialPageObject objSignin = new CredentialPageObject();
                string pathfile = @"..\..\a.xlsx";
                string sheetName = "SignIn";
                var excelFile = new ExcelQueryFactory(pathfile);
                var abc = from a in excelFile.Worksheet(sheetName) select a;
                foreach (var a in abc)
                {
                    PropertiesCollection.driver.Navigate().GoToUrl(a["URL"]);
                }
                PropertiesCollection.driver.Manage().Window.Maximize();
                foreach (var a in abc)
                {
                    objSignin.Login(a["ID"], a["Pass"]);
                }   
                Result.screenshoot();
                FunctionPageObject objFunc = new FunctionPageObject();
         }

屏幕截图从Result.cs类调用,其中包含

代码语言:javascript
复制
  class Result
    {
        public static void screenshot() 
        {

            ITakesScreenshot screenshotDriver = PropertiesCollection.driver as ITakesScreenshot;
            Screenshot screenCapture = screenshotDriver.GetScreenshot();
            string path = @"..\..\Results\";

            string timestamp = DateTime.Now.ToString("yy-MM-dd hh-mm-ss");
            screenCapture.SaveAsFile(@path + i + ". " + timestamp + ".png", System.Drawing.Imaging.ImageFormat.Png);


        }
    }

这是我的FunctionPageObject.cs

代码语言:javascript
复制
[FindsBy(How = How.Name, Using = "Login")]
    public IWebElement clickLogin { get; set; }

    [FindsBy(How = How.XPath, Using = "/html/body/form/table/tbody/tr[1]/td[2]/span/select/option[2]")]
    public IWebElement Title { get; set; }

    [FindsBy(How = How.Id, Using = "Initial")]
    public IWebElement Initial { get; set; }

    [FindsBy(How = How.Id, Using = "FirstName")]
    public IWebElement FN { get; set; }

    [FindsBy(How = How.Id, Using = "MiddleName")]
    public IWebElement MN { get; set; }

    [FindsBy(How = How.XPath, Using = "/html/body/form/table/tbody/tr[5]/td[2]/input[1]")]
    public IWebElement Gender { get; set; }

    [FindsBy(How = How.Name, Using = "Hindi")]
    public IWebElement Language { get; set; }


     public void CuteEditor()
    {

        Thread.Sleep(3000);
        Title.Click();
        Result.screenshot();
        Initial.EnterText("PS");
        Result.screenshot();
        FN.EnterText("Pramukh");
        Result.screenshot();
        MN.EnterText("Swami");
        Result.screenshot();
        Gender.Click();
        Result.screenshot();
        Language.Click();
        Result.screenshot();

现在,我在这里所做的是从Result.Cs调用屏幕截图页面,并在main和FunctionPageObject类中调用它,但是它确实创建了屏幕快照,但并不是递增。

实际结果:始终保持1预期结果:要一直递增。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 15:45:02

这将解决这个问题

代码语言:javascript
复制
 class Result
    {
        static int i = 1 ;
        public static void screenshot() 
        {

            ITakesScreenshot screenshotDriver = PropertiesCollection.driver as ITakesScreenshot;
            Screenshot screenCapture = screenshotDriver.GetScreenshot();
            string path = @"..\..\Results\";

            string timestamp = DateTime.Now.ToString("yy-MM-dd hh-mm-ss");
            screenCapture.SaveAsFile(@path + i + ". " + timestamp + ".png", System.Drawing.Imaging.ImageFormat.Png);
            i++;

        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34638588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档