小编Bri*_*ian的帖子

无法在自动测试中单击元素

我目前正在为我工​​作的公司建立一个测试工具.我有经验,都与C#WatiN,还从来没遇到过,我现在遇到的问题.

下面是该页面标记的片段,给出了我的问题:

<div id="toggle1" class="NavLayout toggle">
     <span onClick="toggleMenu(1, false);">
          <span id="toggletext1">Quote Processing</span>
     </span>
</div>
Run Code Online (Sandbox Code Playgroud)

如你所见,我有一个div,2个跨度和一个图像.我正在使用WatiN尝试单击图像,然后展开菜单,展开另一个图层,我需要点击其他内容.我遇到的问题是让'点击'发生.从我在代码片段中看到的内容来看,在我看来,我需要能够点击事件,但无法通过代码"找到"它.

有什么帮助吗?

c# watin

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

正确地将匿名类型声明为数组以保持范围

我想做的就是var place正确声明,这样一旦我进入foreach循环,它仍然在范围内.我假设我需要之前声明它if的声明connections.这是一个正确的假设,如果是这样,我该如何申报?谢谢!

using (var db = new DataClasses1DataContext())
        {
            if (connections == "Connections")
            {
                var place = (from v in db.pdx_aparts
                             where v.Latitude != null && v.Region == region && v.WD_Connect >= 1
                             select new
                             {
                                 locName = v.Apartment_complex.Trim().Replace(@"""", ""),
                                 latitude = v.Latitude,
                                 longitude = v.Longitude
                             }).Distinct().ToArray();
            }
            else
            {
                var place = (from v in db.pdx_aparts
                             where v.Latitude != null && v.Region == region &&    ((v.WD_Connect == null) || (v.WD_Connect == …
Run Code Online (Sandbox Code Playgroud)

c# linq c#-4.0

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

错误'timer_Tick'的重载与委托'System.EventHandler <object>'匹配

我不确定我的代码有什么问题,有人可以帮助修复错误吗?错误timer.Tick()在行中.它应该是一个秒表.

namespace App3
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {                
            this.InitializeComponent();
        }
        private int myCount;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            DispatcherTimer timer = new DispatcherTimer();
            timer.Tick += new EventHandler<object>(timer_Tick);
            timer.Interval = TimeSpan.FromSeconds(5);
            timer.Start();    
        }


        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            base.OnNavigatedFrom(e);
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            myCount++;
            Label.Text = myCount.ToString();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c#

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

在DataTable已有数据后设置自动编号

我有以下代码将自动编号列添加到DataTable:

public void AddAutoIncrementColumn(DataTable dt)
{
   DataColumn column = new DataColumn();
   column.DataType = System.Type.GetType("System.Int32");
   column.AutoIncrement = true;
   column.AutoIncrementSeed = 0;
   column.AutoIncrementStep = 1;
   dt.Columns.Add(column);
}
Run Code Online (Sandbox Code Playgroud)

但是,对于表中已有的所有行,此值将为空; 似乎只对添加此列后添加的新行触发AutoIncrement.有没有办法为已存在的行设置自动编号值?

c# datatable

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

转换为值类型"Int32"失败,因为实现值为null

我不能为我的生活找出问题所在.每次查询执行"ToList()"时,我都会收到上面的错误.

以下是有关它的更多信息:

<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
The cast to value type 'Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace>
at System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal) at System.Data.Common.Internal.Materialization.Shaper.GetColumnValueWithErrorHandling[TColumn](Int32 ordinal) at lambda_method(Closure , Shaper ) at System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper) at System.Data.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at TVDataWebAPI.Controllers.ETSShowsController.GetETSShows(String title, String episodeTitle, String genre, String showTypeDescription, String directorName, String releaseYear, String seasonEpisode) in …
Run Code Online (Sandbox Code Playgroud)

c# sql linq entity-framework-5

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

ios segue条件

我试图在一些条件后执行segue.我在主Storyboard中创建了modal segue,从nextPushed按钮到下一个视图控制器.

(IBAction)nextPushed:(id)sender {
//Perform check that every field /date/from/to/ choised and exists  
NSString *fromText = [NSString alloc];
NSString *toText = [NSString alloc];
NSString *pasNumText = [NSString alloc];
NSString *dateText = [NSString alloc];
dateText = self.dateAndTimeLabel.text;
fromText = self.fromLabel.text;
toText = self.toLabel.text;
pasNumText = self.numOfPassengersLabel.text;
if (!([fromText isEqual:@"Choice" ]) && !([toText isEqual:@"Choice"] ) && !([pasNumText isEqual:@"Choice"]) && !([dateText isEqual:@"Choice"])) {
    NSLog(@"All fields choisen");
    NSLog(@"Going to next view");
    [self performSegueWithIdentifier:@"goToDannie" sender:sender];
} else {
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Warning" message:@"Not all …
Run Code Online (Sandbox Code Playgroud)

iphone ios

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

具有多个泛型参数的 C# 方法

我正在尝试构建一个通用方法和四个实现IDetail. 每个类都有一个实现类的集合ITaxes. 我想构建一个通用方法,允许我访问每个类的集合。

像这样的东西:

public void UpdateCollection<T,I>(T Detail,Taxes TaxesList ) where T:IDetail where I:Itaxes
{
   foreach( Taxes  tax in TaxesList)
   {
       Detail.I.Add(tax);
   } 
} 
Run Code Online (Sandbox Code Playgroud)

I我想访问type 中type 的属性T。我怎样才能做到这一点?有可能的?我需要为每个类编写一个方法吗?

c# generics

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

如何阻止控制台闪烁和消失

我已经将我在C#中的第一个代码作为Visual Studio中的控制台应用程序.但是在运行代码时,控制台只是闪烁然后继续运行.我应该如何修改我的代码,以便控制台在关闭它之前保持显示消息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication1
{
   class Program
   {
      static void Main (string[] args)
      {
         System.Console.WriteLine("My name ?s Trevor");
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

在c#中将默认值设置为成员类

我需要为成员类设置一个默认值,这个值可以变化,并在执行开始时设置; 到目前为止我有这个,minScore是我的默认值

public class Zones : GeneralIndicator
{
   public int IndicatorType { get; set; } 
   public string Code { get; set; }
   public string Score { get; set; } //TODO: calcular desde aca el score usando el indicatortype
   public double Latitude { get; set; }
   public double Longitude { get; set; }

   private int minScore = 0;

   public void setMinScore(int value)
   {
      minScore = value;
   }
}
Run Code Online (Sandbox Code Playgroud)

我在调用应用程序时将minScore值作为参数.为运行时生成的每个对象设置minScore的最佳方法是什么?

c# class

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

单元测试删除,即使在数据库中删除记录也会返回

我正在使用 Nunit 来测试我的控制器中从数据库中删除记录的方法。一切正常,当我检查时记录被删除但不知何故

db.AssesorMaxProjectLoad.Find(previousLoad.ID) 
Run Code Online (Sandbox Code Playgroud)

仍然返回删除的值并使我的测试失败。

测试:

[Test]
public void AssesorMaxProjectLoadsDeleteLoad()
{
   var previousLoad = db.AssesorMaxProjectLoad.Where(t => t.AssesorID == testAssesor3ID).FirstOrDefault(t => t.TaskGroupID == taskGroupID);
   var result = controller.DeleteConfirmed(previousLoad.ID) as ViewResultBase;
   var newProjectLoad = db.AssesorMaxProjectLoad.Find(previousLoad.ID).MaxAssignedProjectLoad;
   Assert.AreEqual(null, newProjectLoad);
}
Run Code Online (Sandbox Code Playgroud)

控制器方法其测试:

[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
   AssesorMaxProjectLoad assesorMaxProjectLoad = db.AssesorMaxProjectLoad.Find(id);
   db.AssesorMaxProjectLoad.Remove(assesorMaxProjectLoad);
   db.SaveChanges();
   return RedirectToAction("Index", "AssesorMaxProjectLoads", new { id = assesorMaxProjectLoad.TaskGroupID });
}
Run Code Online (Sandbox Code Playgroud)

发生了什么或我错过了什么?我不明白当它不再在数据库中时如何返回?

c# asp.net-mvc nunit unit-testing

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