I think the logic works. It might just work a little differently than you're used to in classical Latin (or maybe this is fine in classical, I'm not sure).
hic venit in testimonium / ut testimonium perhiberet de lumine / ut omnes crederent per illum.
I think "venire in testimonium" might just be a phrase that means "to come in testimony," generally "to come as evidence/proof." So He presented himself as proof [of God's glory, etc.] so that everyone..."
non erat ille lux / sed ut testimonium perhiberet de lumine. /
Here I don't think testimonium is the trouble, but an assumed word. Perhaps "Non erat ille lux, sed [erat]
ut testimonium perhiberet de lumine." He was/existed so that he could give proof. Erat, vivebat, existebat... It's uncommon to see a result "ut" clause with a verb of "esse" in the independent clause, but that's theology I guess.
Does this help at all, or am I off track?