program for oppening

Another alternative, but for this one you have to pay, is ChessBase. In this case you can set it to train your repertoire at club level or at “tournament” level (harder) and it will play sets of moves and continuations that you didn’t explicitly enter yourself as part of your pgn. I think according to your description this is closer to what you want . I used it for a while but to be honest , with ChessTempo you can train your openings very thoroughly for free . I found the most common replies to my moves using the free Lichess opening database and designed responses for them which I the added to my repertoire on chesstempo . Once the initial work is done , that’s it , you can train efficiently there.
Another alternative, but for this one you have to pay, is ChessBase. In this case you can set it to train your repertoire at club level or at “tournament” level (harder) and it will play sets of moves and continuations that you didn’t explicitly enter yourself as part of your pgn. I think according to your description this is closer to what you want . I used it for a while but to be honest , with ChessTempo you can train your openings very thoroughly for free . I found the most common replies to my moves using the free Lichess opening database and designed responses for them which I the added to my repertoire on chesstempo . Once the initial work is done , that’s it , you can train efficiently there.
Thank you for your answer .
What is the name of the function on chesstempo that allows this?
I also have Chessbase, how do I get the function you describe there?

I had ChessBase about two years ago. And it was called Openings Training or something like that.
As for ChessTempo.com you can go to "Opening Training" right on the home page, then "New Repertoire"
Once your Repertoire is complete you use the blue "Train" button. You can train the whole thing or just one specific branch.
I can show you through video if you want we can set up a Zoom Call or something, but it is really not that complicated, you'll probably be able to figure it out.
Henrik
Thank you so much for your tips.
I have one problem on chesstempo.com. I have uploaded my repertoire and when I want to start my workout, it shows an arrow everywhere as seen in the picture in the link. Is there any way to get rid of the arrow?

That is the first round of training.
After you complete the move the first time, that arrow (for that move) will disappear. I have not found a way to make it not show, not even the first time, but over time I have gotten used to them appearing on the first round of training of each move.
You can make a private course on Chessable and practice it. It generally works best if you have all of the moves in PGN format ahead of time (as manually entering each line can be slow), but the move trainer will meet your criteria of the computer randomly choosing a line and seeing if you can react correctly against it.

another vote for chess tempo EXCEPT I despise the way their editor hides transpositions. my brain has turned to mush just trying to sort one line out because it has about 4 transpositions clumped together, but the transpositions are hidden, similar to the "variations within variations" style of theory I despise in chessbase and bookup. trees are the ONLY correct way to show theory as far as i'm concerned.
I'm actually here to ask if there are any other tree editors that display transpositions EVERY TIME in every line. hopping back and forth a mile up my theory tree makes me get lost. I begged and begged bookup and chessbase to adopt trees 20 years ago and tried to get other players to sign on once some chess developer, maybe the company that does aquarium, would offer a tree editor, but no one else seemed to mind the variation within variations abomination as much as me. I've seen annotated games sooooo dense, I couldn't keep track at all even to convert the theory into a tree.
such walls of numerical noise don't agree with my name/number dyslexia.
i'm TRYING to create a smith morra book now that i can't just play Qe2/Rd1/Rc1 and wait for an opportunity. sicilian players all have systems and up to date theory these days. at 30 transpositions and counting, i'm getting confused even with the tree editor and even with paring my hand typed tree down to JUST transpositions it's still confusing.
any other tree editors? once i get my book sorted, I could just port the rest of it back to tempo for study. i want to start training everything sooo bad after getting about 100 4...Nc6 lines down for a minute but have forgotten it all before i could even face one. for some reason, right after I wanted to test that out, i kept facing alekhine after alekhine! the positions I have so far are delicious! there are so many lines where I don't even need a book past move 10 because the tactical minefields others have built are no brainers to play. i need theory to get to them though.
i would NEVER touch ANYTHING chessbase ever again. besides hating their variations within variations wrong way of notating, they are uppity jerks! when I bought fritz6, i had only surfed the internet and didn't know how to copy and paste or create folders. when i contacted them about the lack of instruction in their user's manual, some POS said to me
"it's not our job to teach you how to use your computer"
oh yeah? mothereff you teutonic twits! I DESPISE chessbase. i hated their wishy washy loves to retreat and let me play 30 moves every day at just 1200 fritz 6 too. i always used the "free bonus" crafty instead as that one never let me see move 20. it was a clunky counterintuitive program. I see hackers as an oftentimes lazy bunch who can't be bothered to make their programs user friendly and ergonomic so only other hackers can use them. if you do a program right, you shouldn't need a user's manual.
Hi
I'm looking for a program to help me practice my oppening.
I would need to put a bunch of my variations somewhere (ideally in one pgn file), where the computer would randomly play the moves from the file for black and I would have to guess the correct move for white.
Example file:
1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 (3... Bc5 4. O-O Nf6) 4. Ng5
I would play the first three moves and the computer would randomly pick a variant for me to react to.
Is there such a thing?