J'ai des tests automatisés dans Selenium en utilisant .net, et j'ai utilisé Streamwriter pour copier des données d'une table dans une application web. Cela fonctionne très bien dans Chrome dans la mesure où je l'ai fait la streamWriter copier une ligne entière d'une table et append que d'une ligne dans un fichier csv .. à savoirStreamwriter mettant des cellules de tableau sur une nouvelle ligne dans MS Egde au lieu de la même ligne
DepartmentCodeDepartmentDescriptionTotalSpendTotalValue(%)SubjectivesLines
1Dep-100054Department-10005415282.403.1033861884
2Dep-100038Department-10003814282.292.9033962096
Cependant Edge le même code met chaque cellule sur une nouvelle ligne ...
DepartmentCode
DepartmentDescription
TotalSpend
TotalValue(%)
Suppliers
Transactions
Directorates
CostCentres
Subjectives
Lines
1
Dep-100054
Department-100054
15282.40
3.10
3
3
8
6
18
84
2
Dep-100038
Department-100038
14282.29
2.90
3
3
9
6
20
96
le code pour le streamWriter est ...
using (StreamWriter sw = new StreamWriter(actualDataFileLocation, false))
{
//Used for loop for number of rows
for (int i = 1; i <= RowCount + 3; i++)
{
if (i == 2) // | i == 3)
{
continue;
}
string line = string.Empty;
string tableData = null;
string finalXpath = null;
if (i == 1 || i == 3)
{
for (int j = 1; j <= ColCount; j++)
{
if (j == 1)
{
continue;
}
else
{
finalXpath = FirstPartHeader + i + SecondPartHeader + j + ThirdPartHeader;
tableData = driver.FindElement(By.XPath(finalXpath)).Text;
tableData = tableData.Replace(",", "");
tableData = tableData.Replace(" ", "");
}
line = line + string.Format(CultureInfo.CurrentCulture, "{0}", tableData);
}
}
else
{
finalXpath = FirstPart + i + SecondPart;
tableData = driver.FindElement(By.XPath(finalXpath)).Text;
tableData = tableData.Replace(",", "");
tableData = tableData.Replace(" ", "");
line = line + string.Format(CultureInfo.CurrentCulture, "{0}", tableData);
}
sw.WriteLine(line.ToString());
}
}
Toute aide sur ce serait très apprécié
Bit de googling et trouvé que l'utilisation 'TableData = tableData.TrimEnd ('\ r', '\ n');' pour enlever le retour de chariot fonctionne pour l'en-tête ligne, mais pas les autres lignes de données dans la deuxième instruction else – alex